aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2012-01-26 17:40:25 +0100
committerEike Ziller <eike.ziller@nokia.com>2012-01-27 13:57:47 +0100
commit6bfb79322db486e1b5a18b7d752ad152413263c4 (patch)
treee384131827ebd6b90e234f39d229865111778b91
parent591754be7e6770bdec7cd985c163c4c76ab06ecb (diff)
Remove old, never-finished, outdated howto draft.
This is slowly being replaced by the "Extending Qt Creator Manual" (source in doc/api, 'make docs' generates it in doc/html-dev) Change-Id: I38e92b5b3b6d41e03fcccee5c299a3aebc5ed354 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
-rw-r--r--doc/pluginhowto/adv-find-filter.qdoc7
-rw-r--r--doc/pluginhowto/classic.css102
-rw-r--r--doc/pluginhowto/editor-type.qdoc998
-rw-r--r--doc/pluginhowto/examples/dirmodelplugin/DirModelPlugin.pluginspec10
-rw-r--r--doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.cpp73
-rw-r--r--doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.h56
-rw-r--r--doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.pro25
-rw-r--r--doc/pluginhowto/examples/dirmodelplugin/dirnavigationfactory.cpp73
-rw-r--r--doc/pluginhowto/examples/dirmodelplugin/dirnavigationfactory.h53
-rw-r--r--doc/pluginhowto/examples/dirmodelplugin/filesystemmodel.cpp58
-rw-r--r--doc/pluginhowto/examples/dirmodelplugin/filesystemmodel.h55
-rw-r--r--doc/pluginhowto/examples/donothing/DoNothing.pluginspec10
-rw-r--r--doc/pluginhowto/examples/donothing/donothingplugin.cpp73
-rw-r--r--doc/pluginhowto/examples/donothing/donothingplugin.h57
-rw-r--r--doc/pluginhowto/examples/donothing/donothingplugin.pro21
-rw-r--r--doc/pluginhowto/examples/examples.pro6
-rw-r--r--doc/pluginhowto/examples/headerfilter/HeaderFilter.pluginspec11
-rw-r--r--doc/pluginhowto/examples/headerfilter/headerfilter.cpp188
-rw-r--r--doc/pluginhowto/examples/headerfilter/headerfilter.h84
-rw-r--r--doc/pluginhowto/examples/headerfilter/headerfilterplugin.cpp74
-rw-r--r--doc/pluginhowto/examples/headerfilter/headerfilterplugin.h58
-rw-r--r--doc/pluginhowto/examples/headerfilter/headerfilterplugin.pro28
-rw-r--r--doc/pluginhowto/examples/htmleditor/HTMLEditor.pluginspec11
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditor.cpp167
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditor.h82
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditorfactory.cpp99
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditorfactory.h65
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditorplugin.cpp95
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditorplugin.h59
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditorplugin.pro31
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditorwidget.cpp120
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmleditorwidget.h70
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmlfile.cpp168
-rw-r--r--doc/pluginhowto/examples/htmleditor/htmlfile.h76
-rw-r--r--doc/pluginhowto/examples/htmleditor/text-html-mimetype.xml8
-rw-r--r--doc/pluginhowto/examples/loggermode/LoggerMode.pluginspec10
-rw-r--r--doc/pluginhowto/examples/loggermode/loggermode.cpp177
-rw-r--r--doc/pluginhowto/examples/loggermode/loggermode.h73
-rw-r--r--doc/pluginhowto/examples/loggermode/loggermodePlugin.cpp74
-rw-r--r--doc/pluginhowto/examples/loggermode/loggermodePlugin.h59
-rw-r--r--doc/pluginhowto/examples/loggermode/loggermodePlugin.pro20
-rw-r--r--doc/pluginhowto/examples/loggermode/loggermodewidget.cpp230
-rw-r--r--doc/pluginhowto/examples/loggermode/loggermodewidget.h66
-rw-r--r--doc/pluginhowto/examples/menu/addingmenu/DoNothing.pluginspec10
-rw-r--r--doc/pluginhowto/examples/menu/addingmenu/addingmenu.pro21
-rw-r--r--doc/pluginhowto/examples/menu/addingmenu/donothingplugin.cpp105
-rw-r--r--doc/pluginhowto/examples/menu/addingmenu/donothingplugin.h60
-rw-r--r--doc/pluginhowto/examples/menu/menu.pro8
-rw-r--r--doc/pluginhowto/examples/menu/placingmenu/DoNothing.pluginspec10
-rw-r--r--doc/pluginhowto/examples/menu/placingmenu/donothingplugin.cpp89
-rw-r--r--doc/pluginhowto/examples/menu/placingmenu/donothingplugin.h57
-rw-r--r--doc/pluginhowto/examples/menu/placingmenu/placingmenu.pro21
-rw-r--r--doc/pluginhowto/examples/menu/registeringmenuitem/DoNothing.pluginspec10
-rw-r--r--doc/pluginhowto/examples/menu/registeringmenuitem/donothingplugin.cpp89
-rw-r--r--doc/pluginhowto/examples/menu/registeringmenuitem/donothingplugin.h57
-rw-r--r--doc/pluginhowto/examples/menu/registeringmenuitem/registeringmenuitem.pro21
-rw-r--r--doc/pluginhowto/examples/menu/respondingtomenuitems/DoNothing.pluginspec10
-rw-r--r--doc/pluginhowto/examples/menu/respondingtomenuitems/donothingplugin.cpp98
-rw-r--r--doc/pluginhowto/examples/menu/respondingtomenuitems/donothingplugin.h60
-rw-r--r--doc/pluginhowto/examples/menu/respondingtomenuitems/respondingtomenuitems.pro21
-rw-r--r--doc/pluginhowto/examples/preferencepane/PreferencePane.pluginspec10
-rw-r--r--doc/pluginhowto/examples/preferencepane/modifiedfilelister.cpp85
-rw-r--r--doc/pluginhowto/examples/preferencepane/modifiedfilelister.h59
-rw-r--r--doc/pluginhowto/examples/preferencepane/modifiedfilelistwidget.cpp58
-rw-r--r--doc/pluginhowto/examples/preferencepane/modifiedfilelistwidget.h52
-rw-r--r--doc/pluginhowto/examples/preferencepane/preferencepaneplugin.cpp74
-rw-r--r--doc/pluginhowto/examples/preferencepane/preferencepaneplugin.h56
-rw-r--r--doc/pluginhowto/examples/preferencepane/preferencepaneplugin.pro21
-rw-r--r--doc/pluginhowto/examples/progressbar/ProgressBar.pluginspec11
-rw-r--r--doc/pluginhowto/examples/progressbar/headerfilteprogress.cpp226
-rw-r--r--doc/pluginhowto/examples/progressbar/headerfilterprogress.h83
-rw-r--r--doc/pluginhowto/examples/progressbar/progressbar.pro28
-rw-r--r--doc/pluginhowto/examples/progressbar/progressbarplugin.cpp74
-rw-r--r--doc/pluginhowto/examples/progressbar/progressbarplugin.h58
-rw-r--r--doc/pluginhowto/examples/wizard/customproject/CustomProject.pluginspec10
-rw-r--r--doc/pluginhowto/examples/wizard/customproject/customprojectplugin.cpp70
-rw-r--r--doc/pluginhowto/examples/wizard/customproject/customprojectplugin.h55
-rw-r--r--doc/pluginhowto/examples/wizard/customproject/customprojectplugin.pro20
-rw-r--r--doc/pluginhowto/examples/wizard/customproject/customprojectwizard.cpp84
-rw-r--r--doc/pluginhowto/examples/wizard/customproject/customprojectwizard.h58
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelHeader.txt22
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelSource.txt23
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelWizard.pluginspec10
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.cpp83
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.h56
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.pro27
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/modelclasswizard.cpp128
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/modelclasswizard.h63
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.cpp70
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.h73
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.ui90
-rw-r--r--doc/pluginhowto/examples/wizard/itemmodelwizard/template.qrc6
-rw-r--r--doc/pluginhowto/find-filter.qdoc549
-rw-r--r--doc/pluginhowto/find-support.qdoc6
-rw-r--r--doc/pluginhowto/first-plugin.qdoc327
-rw-r--r--doc/pluginhowto/images/qtc-aboutplugin-2.pngbin56448 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-codeeffect-4.pngbin61008 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-compiledplugin-2.pngbin49905 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-configwidget-9.pngbin15191 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-customeditor-10.pngbin60409 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-customwizardone-8.pngbin18830 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-customwizardtwo-8.pngbin18804 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-designer-8.pngbin102978 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-dirview-6.pngbin67766 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-donothingleft-5.pngbin36162 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-donothingright-5.pngbin39347 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-editor-10.pngbin67409 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-editor-8.pngbin61442 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-editortabs-10.pngbin63919 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-fileformat-10.pngbin73251 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-finddialog-9.pngbin35625 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-firstnavigation-6.pngbin66435 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-help-5.pngbin35528 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-helpdonothing-5.pngbin53023 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-htmleditor-10.pngbin60409 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-ieditor-10.pngbin59839 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-installedplugin-2.pngbin88408 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-loggermode-13.pngbin63276 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-loggermodewidget-13.pngbin48289 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-loggerpage-13.pngbin35852 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-menubar-5.pngbin32068 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-menuitem-10.pngbin23686 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-menuitemposition-5.pngbin50230 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-menuresponse-5.pngbin62385 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-modes-13.pngbin63245 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-nevigationwidget-4.pngbin28158 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-newitemmodel-8.pngbin30007 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-newmode-13.pngbin63747 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-newprojectdialog-8.pngbin29979 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-objectlist-4.pngbin21695 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-options-5.pngbin27809 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-options-7.pngbin28604 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-options-keyboard-5.pngbin28617 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-plaintextedit-10.pngbin56294 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-plugindirectory-2.pngbin46002 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-pluginmanager-4.pngbin11739 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-progressbar-11.pngbin64348 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-search-9.pngbin93028 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-searchprogress-11.pngbin60921 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-secondnavigation-6.pngbin74820 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-testplugin-7.pngbin20483 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-testplugin-8.pngbin30046 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-testplugin-9.pngbin11637 -> 0 bytes
-rw-r--r--doc/pluginhowto/images/qtc-title-10.pngbin18461 -> 0 bytes
-rw-r--r--doc/pluginhowto/location-filter.qdoc6
-rw-r--r--doc/pluginhowto/menu.qdoc304
-rw-r--r--doc/pluginhowto/mode.qdoc537
-rw-r--r--doc/pluginhowto/nav-widget.qdoc171
-rw-r--r--doc/pluginhowto/pluginhowto.pro67
-rw-r--r--doc/pluginhowto/pref-pane.qdoc205
-rw-r--r--doc/pluginhowto/progress.qdoc111
-rw-r--r--doc/pluginhowto/project-file-wizard.qdoc667
-rw-r--r--doc/pluginhowto/qtc-arch.qdoc329
-rw-r--r--doc/pluginhowto/qtc-project-plugin.qdoc6
-rw-r--r--doc/pluginhowto/qtcreator-compile.qdoc25
-rw-r--r--doc/pluginhowto/qtcreator-pluginhowto.qdoc28
-rw-r--r--doc/pluginhowto/qtcreator-pluginhowto.qdocconf174
-rwxr-xr-xdoc/pluginhowto/templates/images/api_examples.pngbin1302 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/api_lookup.pngbin1879 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/api_topics.pngbin1216 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/images/arrow_down.pngbin177 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_l.pngbin139 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_l_blank.pngbin123 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_ll.pngbin514 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_ll_blank.pngbin320 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_lr.pngbin458 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_r.pngbin136 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_ul.pngbin516 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_ul_blank.pngbin304 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_ur.pngbin437 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bg_ur_blank.pngbin437 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/box_bg.pngbin129 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/breadcrumb.pngbin195 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/images/bullet_dn.pngbin230 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bullet_gt.pngbin185 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/bullet_sq.pngbin117 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/images/bullet_up.pngbin253 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/content_bg.pngbin1498 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/feedbackground.pngbin263 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/form_bg.pngbin390 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/images/header.pngbin3768 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/images/header_bg.pngbin114 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/horBar.pngbin2807 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/images/page.pngbin3102 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/page_bg.pngbin126 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/print.pngbin575 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/qt_guide.pngbin12685 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/qt_icon.pngbin4775 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/qt_ref_doc.pngbin2600 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/qt_tools.pngbin17508 -> 0 bytes
-rwxr-xr-xdoc/pluginhowto/templates/images/sep.pngbin120 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/images/spinner.gifbin2037 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/images/sprites-combined.pngbin62534 -> 0 bytes
-rw-r--r--doc/pluginhowto/templates/scripts/functions.js192
-rw-r--r--doc/pluginhowto/templates/scripts/jquery.js152
-rw-r--r--doc/pluginhowto/templates/scripts/narrow.js78
-rw-r--r--doc/pluginhowto/templates/scripts/superfish.js121
-rw-r--r--doc/pluginhowto/templates/style/OfflineStyle.css836
-rw-r--r--doc/pluginhowto/templates/style/narrow.css250
-rw-r--r--doc/pluginhowto/templates/style/style.css1218
-rw-r--r--doc/pluginhowto/templates/style/style_ie6.css54
-rw-r--r--doc/pluginhowto/templates/style/style_ie7.css19
-rw-r--r--doc/pluginhowto/templates/style/style_ie8.css0
-rw-r--r--doc/pluginhowto/templates/style/superfish.css51
-rw-r--r--doc/pluginhowto/templates/style/superfish_skin.css83
-rw-r--r--doc/pluginhowto/vcs.qdoc6
206 files changed, 0 insertions, 13042 deletions
diff --git a/doc/pluginhowto/adv-find-filter.qdoc b/doc/pluginhowto/adv-find-filter.qdoc
deleted file mode 100644
index 52c133851f..0000000000
--- a/doc/pluginhowto/adv-find-filter.qdoc
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- \page adv-find-filter.html
- \title 15.Adding "advanced" find filter
-
- This page needs to be written still!
-
- */
diff --git a/doc/pluginhowto/classic.css b/doc/pluginhowto/classic.css
deleted file mode 100644
index 400ee71168..0000000000
--- a/doc/pluginhowto/classic.css
+++ /dev/null
@@ -1,102 +0,0 @@
-h3.fn,span.fn
-{
- margin-left: 1cm;
- text-indent: -1cm;
-}
-
-a:link
-{
- color: #004faf;
- text-decoration: none
-}
-
-a:visited
-{
- color: #672967;
- text-decoration: none
-}
-
-td.postheader
-{
- font-family: sans-serif
-}
-
-tr.address
-{
- font-family: sans-serif
-}
-
-body
-{
- background: #ffffff;
- color: black
-}
-
-table tr.odd {
- background: #f0f0f0;
- color: black;
-}
-
-table tr.even {
- background: #e4e4e4;
- color: black;
-}
-
-table.annotated th {
- padding: 3px;
- text-align: left
-}
-
-table.annotated td {
- padding: 3px;
-}
-
-table tr pre
-{
- padding-top: none;
- padding-bottom: none;
- padding-left: none;
- padding-right: none;
- border: none;
- background: none
-}
-
-tr.qt-style
-{
- background: #a2c511;
- color: black
-}
-
-body pre
-{
- padding: 0.2em;
- border: #e7e7e7 1px solid;
- background: #f1f1f1;
- color: black
-}
-
-span.preprocessor, span.preprocessor a
-{
- color: darkblue;
-}
-
-span.comment
-{
- color: darkred;
- font-style: italic
-}
-
-span.string,span.char
-{
- color: darkgreen;
-}
-
-.subtitle
-{
- font-size: 0.8em
-}
-
-.small-subtitle
-{
- font-size: 0.65em
-}
diff --git a/doc/pluginhowto/editor-type.qdoc b/doc/pluginhowto/editor-type.qdoc
deleted file mode 100644
index e3f600bc0a..0000000000
--- a/doc/pluginhowto/editor-type.qdoc
+++ /dev/null
@@ -1,998 +0,0 @@
-/*!
- \page editor-type.html
- \title 10. Adding editor type
-
- At the very basic level Qt Creator is a text editor. On top of supporting editing of text files, Qt Creator also allows users
- to edit UI (Qt Designer) files, QRC (Resource) files, PRO/PRI (Project) files and EXE/DLL/SO (Binary) files.
-
- \inlineimage qtc-editor-10.png
-
-
- In this chapter we will understand how to provide editors for custom file formats, specifically the HTML file format.
- When we are done, we will be able to load HTML files from the local file system and view/edit them.
-
- \inlineimage qtc-fileformat-10.png
-
- \section1 10.1 Core Classes and Interfaces
-
- To support a new editor type, we need to
- \list
- \o Implement a plugin \bold {(Core::IPlugin} implementation) class that exposes an "editor factory". Chapter 2 in this
- document provides a detailed description on creating plugins by implementing the \bold {Core::IPlugin interface}.
-
- \o Implement the editor factory, \bold {Core::IEditorFactory}, interface. This interface implementation provides
- methods to help create instances of "editor" object for a specified mime-type.
- \o Implement the editor, \bold {Core::IEditor}, interface. This interface implementation provides a widget that helps
- edit a file type (for example: HTML, ODF etc). Editors must provide access to the "file" that it is currently being
- shown or edited.
- \o Implement the file, \bold{Core::IFile}, interface to help customize the loading and saving of data into disk files.
-
- \endlist
-
- In the following subsections, we will take a look at each of the above mentioned core interfaces.
-
- \section2 10.1.1 The Core::IFile interface
-
- This interface abstracts file operations from the user-interface point of view. It provides virtual methods to load and
- save files, given a file name. It also helps in understanding the mime-type of file and value of certain flags like "modified"
- and "read-only". The \bold{Core::IFile} interface is declared as follows in src/plugins/coreplugin/ifile.h
-
- \code
- namespace Core
- {
- class IFile : public QObject
- {
- Q_OBJECT
-
- public:
- enum ReloadBehavior { AskForReload, ReloadAll, ReloadPermissions, ReloadNone };
- IFile(QObject *parent = 0) : QObject(parent) {}
- virtual ~IFile() {}
- virtual bool save(const QString &fileName = QString()) = 0;
- virtual QString fileName() const = 0;
- virtual QString defaultPath() const = 0;
- virtual QString suggestedFileName() const = 0;
- virtual QString mimeType() const = 0;
- virtual bool isModified() const = 0;
- virtual bool isReadOnly() const = 0;
- virtual bool isSaveAsAllowed() const = 0;
- virtual void modified(ReloadBehavior *behavior) = 0;
- virtual void checkPermissions() {}
-
- signals:
- void changed();
- };
- } // namespace Core
-
- \endcode
-
- You may be wondering: "Why go for another interface called \bold {IFile} when we already have a class called \bold {QFile} that
- provides the exact same functionality?" Good point. The responses to this question are listed below
-
- \list
- \o \bold {IFile} has to take care of loading contents of a filename into an editor \bold {(Core::IEditor} interface discussed
- next). \bold {QFile} on the other hand simply loads contents into a \bold {QByteArray}.
-
- \o \bold {IFile} has to emit the \bold {modified()} signal when the user edits the contents of the file in the editor, but the
- actual disk-file contents have not been modified. \bold {QFile} emits the \bold {bytesWritten()} signal only when the
- disk-file contents have been modified.
-
- \o \bold {IFile} has to handle how a modified file, on the disk, is reloaded. \bold {QFile} on the other-hand doesn't need to
- handle this.
- \endlist
-
- We will learn more about implementing the \bold {Core::IFile} interface in a future section.
-
- \section2 10.1.2 The Core::IEditor interface
- Implementations of the \bold {Core::IEditor} interface provide editors for different types of files. It is declared as follows
- in src/plugins/coreplugin/editormanager/ieditor.h.
-
- \code
- namespace Core
- {
- class IContext : public QObject
- {
- Q_OBJECT
-
- public:
- IContext(QObject *parent = 0) : QObject(parent) {}
- virtual ~IContext() {}
- virtual QList<int> context() const = 0;
- virtual QWidget *widget() = 0;
- virtual QString contextHelpId() const { return QString(); }
- };
-
- class IEditor : public IContext
- {
- Q_OBJECT
-
- public:
- IEditor(QObject *parent = 0) : IContext(parent) {}
- virtual ~IEditor() {}
- virtual bool createNew(const QString &contents = QString()) = 0;
- virtual bool open(const QString &fileName = QString()) = 0;
- virtual IFile *file() = 0;
- virtual const char *kind() const = 0;
- virtual QString displayName() const = 0;
- virtual void setDisplayName(const QString &title) = 0;
- virtual bool duplicateSupported() const = 0;
- virtual IEditor *duplicate(QWidget *parent) = 0;
- virtual QByteArray saveState() const = 0;
- virtual bool restoreState(const QByteArray &state) = 0;
- virtual int currentLine() const { return 0; }
- virtual int currentColumn() const { return 0; }
- virtual bool isTemporary() const = 0;
- virtual QToolBar *toolBar() = 0;
-
- signals:
- void changed();
- };
- } // namespace Core
-
- \endcode
-
- The \bold {Core::IEditor} interface primary provides access to
- \list
- \o An \underline{editor widget}\bold{ (Core::IEditor::widget()} method) that Qt Creator can use to display contents of the
- file being edited.
-
- \o The file \bold {(Core::IEditor::file() } method), which is a \bold {Core::IFile} implementation, that Qt Creator
- can use to trigger the loading and saving of data from disk-files.
-
- \o An optional custom toolbar that Qt Creator can show whenever the editor becomes active.
-
- \o The current position of the edit-cursor within the file \bold {(Core::IEditor::currentLine()} and
- \bold {Core::IEditor::currentColumn())}
-
- \o The name that needs to be displayed in the \underline{open-files combo box}.
- \endlist
-
- Take a look at the following screenshot to get a better understanding.
-
- \inlineimage qtc-ieditor-10.png
-
-
- We will understand more about implementing the \bold {Core::IEditor} interface in a future section.
-
-
- \section2 10.1.3 The Core::IEditorFactory interface
-
- Implementations of \bold {Core::IEditorFactory} interface provide methods to create instances of Core::IEditor
- for a supported mime-type. It is declared as follows in src/plugins/coreplugin/editormanager/ieditorfactory.h.
-
- \code
- namespace Core
- {
- class IFileFactory : public QObject
- {
- Q_OBJECT
-
- public:
- IFileFactory(QObject *parent = 0) : QObject(parent) {}
- virtual ~IFileFactory() {}
- virtual QStringList mimeTypes() const = 0;
- virtual QString kind() const = 0;
- virtual Core::IFile *open(const QString &fileName) = 0;
- };
-
- class IEditorFactory : public Core::IFileFactory
- {
- Q_OBJECT
-
- public:
- IEditorFactory(QObject *parent = 0) : IFileFactory(parent) {}
- virtual ~IEditorFactory() {}
- virtual IEditor *createEditor(QWidget *parent) = 0;
- };
- } // namespace Core
-
- \endcode
-
- The \bold {IEditorFactory::mimeType()} method should be implemented to return the mime-type supported by the
- editor for which the factory is implemented. The \bold {IEditorFactory::createEditor()} method should be
- implemented to actually create a concrete editor and return the same.
-
- \section2 10.1.4 The Core::MimeDatabase class
-
- The \bold {Core::MimeDatabase} class keeps track of all the mime-types supported by Qt Creator. It also helps figure out
- the mime-type of a given file. Take the following code for example:
-
- \code
- #include <coreplugin/mimedatabase.h>
- Core::ICore* core = Core::ICore::instance();
- Core::MimeDatabase* mdb = core->mimeDatabase();
- Core::MimeType type1 = mdb->findByFile( QFileInfo("C:/Temp/sample.html") );
-
- qDebug("File Type for sample.html = %s", qPrintable(type1.type()));
- Core::MimeType type2 = mdb->findByFile( QFileInfo("C:/Temp/TextEdit/Main.cpp") );
-
- qDebug("File Type for Main.cpp = %s", qPrintable(type2.type()));
- Core::MimeType type3 = mdb->findByFile( QFileInfo("C:/Temp/TextEdit/TextEdit.pro") );
-
- qDebug("File Type for TextEdit.pro = %s", qPrintable(type3.type()));
- \endcode
-
- When the above code is compiled and executed, we get the following as output.
- \code
- File Type for sample.html = text/plain
- File Type for Main.cpp = text/x-c++src
- File Type for TextEdit.pro = text/plain
- \endcode
-
- The \bold { Core::MimeDatabase } uses filename suffix, glob patterns and "magic" matchers to figure out the mime-type of
- a given filename. At this point however, lets not dig into how the mime-database manages to figure out the mime-type
- from a filename; it is enough if we know that mime-type discovery is possible.
-
- The \bold Core::IEditorFactory interface, as described in the previous section, provides an editor \bold{(Core::IEditor}
- implementation) for a specific mime-type. The following points help us understand how Qt Creator manages to pick the
- appropriate \bold {Core::IEditorFactory} for a given filename.
-
- \list 1
- \o User selects File -> Open and chooses a file to open
-
- \o Qt Creator uses \bold {Core::MimeDatabase} to figure out the mime-type of the selected file
-
- \o Qt Creator runs through all \bold {Core::IEditorFactory} implementations and picks the editor-factory that
- supports the mime-type evaluated in step 2
-
- \o Qt Creator asks the selected editor factory to create an editor (Core::IEditor implementation)
-
- \o The widget returned by \bold {Core::IEditor::widget()} is then shown in the workspace area of the mainwindow
-
- \o The \bold {Core::IEditor::open()} method is then called to open the file selected in step 1.
-
- \endlist
-
- \section2 10.1.5 Adding a new mime-type
-
- If we wanted to support a new editor type, then we need to register the mime-type supported by the new editor with
- the \bold {Core::MimeDatabase}. Several mechanisms can be used to register a new mime-type. In this chapter we will
- learn the simplest way to register a new mime-type from an XML file.
- Suppose that we wanted to register the \bold {text/html} mime-type and associate it with \bold {*.html} filenames. We create an XML
- file as and save it as \bold {text-html-mimetype.xml}.
-
- \code
- <?xml version="1.0" encoding="UTF-8"?>
- <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
- <mime-type type="text/html">
- <sub-class-of type="text/plain"/>
- <comment>HTML File</comment>
- <glob pattern="*.html"/>
- </mime-type>
- </mime-info>
- \endcode
-
- We then register the mime-type described in the XML file (above) using the
- \bold {Core::MimeDatabase::addMimeTypes()} method. Take a look at the code snippet below
-
- \code
- Core::ICore* core = Core::ICore::instance();
- Core::MimeDatabase* mdb = core->mimeDatabase();
- QString errMsg;
- bool success = mdb->addMimeTypes("text-html-mimetype.xml", errMsg);
- \endcode
-
- Once registered, Qt Creator will begin to map all *.html filenames to text/plain mime-type.
-
- \section1 10.2 Providing a HTML Editor in Qt Creator
-
- Let's implement a plugin for Qt Creator that provides support for viewing and editing HTML files. The following
- screenshots show the expected results.
-
- The user select a HTML file to open using the standard File -> Open menuitem.
-
- \inlineimage qtc-menuitem-10.png
-
-
- Upon selecting a HTML file, Qt Creator will show a custom editor as shown below.
-
-
- \inlineimage qtc-customeditor-10.png
-
-
- Notice that the editor has two tabs called "Preview" and "Source" at the bottom edge.
-
-
- \inlineimage qtc-editortabs-10.png
-
-
- Clicking on the "Source" tab shows the HTML code in a \bold { QPlainTextEdit} widget.
-
- \inlineimage qtc-plaintextedit-10.png
-
-
- Users can edit the HTML in this tab, and when he moves back to the "preview" tab the changes are reflected. Users can
- continue to make use of File -> Save menu item to save changes to the HTML file.
-
- For achieving the above we implement the following classes
-
- \table
- \header
- \o Class
- \o Interface\\Baseclass
- \o Description
-
- \row
- \o \c{HtmlEditorWidget}
- \o \bold {QTabWidget}
- \o Provides a tab widget with two tabs, one for showing the
- HTML preview and other for showing the HTML code.
-
- \row
- \o \c{HtmlFile}
- \o \bold {Core::IFile}
- \o Implements the \bold {IFile} interface for the file shown in
- \bold {HtmlEditorWidget}.
- \row
- \o \c {HtmlEditor}
- \o \bold {Core::IEditor}
- \o Implements the \bold{IEditor} interface for managing the
- \bold{HtmlEditorWidget} and hooking up an \bold{IFile} with it.
- \row
- \o \c {HtmlEditorFactory}
- \o \bold {Core::IEditorFactory}
- \o Implements the \bold{IEditorFactory} interface for creating
- instances of \bold{IEditor} for the "text/html" mime-type.
-
- \row
- \o \c {HtmlEditorPlugin}
- \o \bold {Core::IPlugin }
- \o Implements the \bold{IPlugin} interface for hooking all of the
- above into Qt Creator.
- \endtable
-
- For every html file there is an instance each of \bold{HtmlEditorWidget},\bold{HtmlFile} and \bold{HtmlEditor} handling the
- loading, editing and saving functionality. In our implementation we provide mechanisms to help establish association
- between instances of the above classes that handle the same file.
-
- \section2 10.2.1 Implementing the HTML Editor Widget
- By default, Qt Creator uses a plain-text editor widget to display the contents of the HTML file being edited. We would
- like to offer a tabbed widget as editor. One of the tabs shows the HTML preview, the other shows the HTML code. The
- class \bold {HtmlEditorWidget} is our editor; and it is declared as follows.
-
- \code
- struct HtmlEditorWidgetData;
- class HtmlEditorWidget : public QTabWidget
- {
- Q_OBJECT
-
- public:
- HtmlEditorWidget(QWidget* parent = 0);
- ~HtmlEditorWidget();
- void setContent(const QByteArray& ba, const QString& path=QString());
- QByteArray content() const;
- QString title() const;
-
- protected slots:
- void slotCurrentTabChanged(int tab);
- void slotContentModified();
-
- signals:
- void contentModified();
- void titleChanged(const QString&);
-
- private:
- HtmlEditorWidgetData* d;
- };
- \endcode
-
- The constructor basically creates two different views from \bold{QWebView} and \bold {QPlainTextEdit} and adds them as tabs
- at the bottom position of the tab widget. We will learn about the signal-slot connections later.
-
- \code
- HtmlEditorWidget::HtmlEditorWidget(QWidget* parent):QTabWidget(parent)
- {
- d = new HtmlEditorWidgetData;
- d->webView = new QWebView;
- d->textEdit = new QPlainTextEdit;
-
- addTab(d->webView, "Preview");
- addTab(d->textEdit, "Source");
-
- setTabPosition(QTabWidget::South);
- setTabShape(QTabWidget::Triangular);
-
- d->textEdit->setFont( QFont("Courier", 12) );
- connect(this, SIGNAL(currentChanged(int)),this, SLOT(slotCurrentTabChanged(int)));
- connect(d->textEdit, SIGNAL(textChanged()),this, SLOT(slotContentModified()));
- connect(d->webView, SIGNAL(titleChanged(QString)),this, SIGNAL(titleChanged(QString)));
- d->modified = false;
- }
- \endcode
-
-
- The destructor does nothing other than deleting the private \bold{"d"} object.
-
- \code
- HtmlEditorWidget::~HtmlEditorWidget()
- {
- delete d;
- }
- \endcode
-
- The setContent method simply sets the contents of html file to \bold{webView} and \bold {textEdit}.
-
- \code
- void HtmlEditorWidget::setContent(const QByteArray& ba, const QString& path)
- {
- if(path.isEmpty())
- d->webView->setHtml(ba);
- else
- d->webView->setHtml(ba, "file:///" + path);
- d->textEdit->setPlainText(ba);
- d->modified = false;
- d->path = path;
- }
- \endcode
-
- The \bold {content} method returns the contents of the \bold {textEdit}.
-
- \code
- QByteArray HtmlEditorWidget::content() const
- {
- QString htmlText = d->textEdit->toPlainText();
- return htmlText.toAscii();
- }
- \endcode
-
- The \bold {title()} method returns the title from the webView. The string returned from this method will be used in the
- open-file combo box.
-
- \inlineimage qtc-title-10.png
-
- \code
- QString HtmlEditorWidget::title() const
- {
- return d->webView->title();
- }
- \endcode
-
- The following connection made in the constructor of \bold {HtmlEditorWidget} makes sure that when the user moves from
- "source" to "preview" tab, the HTML content viewed in the preview tab is updated.
-
- \code
- connect(this, SIGNAL(currentChanged(int)),this, SLOT(slotCurrentTabChanged(int)));
-
- void HtmlEditorWidget::slotCurrentTabChanged(int tab)
- {
- if(tab == 0 && d->modified)
- setContent( content(), d->path );
- }
- \endcode
-
-
- Following connection makes sure that \bold {setContentModified()} slot is called whenever user edits the html source.
- The slot \bold {setContentModified()} simply sets modified to true and emits the signal "contentModified" We will
- know the usability of this signal later in the section while understanding \bold {HtmlFile} class.
-
- \code
- connect(d->textEdit, SIGNAL(textChanged()), this, SLOT(slotContentModified()));
-
- void HtmlEditorWidget::slotContentModified()
- {
- d->modified = true;
- emit contentModified();
- }
- \endcode
-
- Following connection simply emits \bold {titleChanged()} signal on title change of \bold {webView}. We will know more about
- this signal later.
-
- \code
- connect(d->webView, SIGNAL(titleChanged(QString)),this, SIGNAL(titleChanged(QString)));
- \endcode
-
- \section2 10.2.2 Implementing the Core::IFile interface
-
- We implement the \bold {Core::IFile} interface in the \bold {HtmlFile} class. Apart from implementing the pure virtual
- functions from \bold {IFile} (introduced in section 5.1.1); the \bold {HtmlFile} class has methods to get/set the modified flag
- which indicates the modification status of the file contents.
-
- \code
- struct HtmlFileData;
- class HtmlFile : public Core::IFile
- {
- Q_OBJECT
-
- public:
- HtmlFile(HtmlEditor* editor, HtmlEditorWidget* editorWidget);
- ~HtmlFile();
- void setModified(bool val=true);
- // Declare all the virtual functions from IFile here..
- protected slots:
- void modified() { setModified(true); }
- private:
- HtmlFileData* d;
- };
-
- struct HtmlFileData
- {
- HtmlFileData(): mimeType(HtmlEditorConstants::C_HTMLEDITOR_MIMETYPE),editorWidget(0), editor(0), modified(false) { }
- const QString mimeType;
- HtmlEditorWidget* editorWidget;
- HtmlEditor* editor;
- QString fileName;
- bool modified;
- };
-
- \endcode
-
- In the constructor implementation is simple. It establishes the association between an instance of \bold {HtmlFile} with the
- corresponding \bold {HtmlEditor} and the \bold {HtmlEditorWidget} instances.
-
- \code
-
- HtmlFile::HtmlFile(HtmlEditor* editor, HtmlEditorWidget* editorWidget): Core::IFile(editor)
- {
- d = new HtmlFileData;
- d->editor = editor;
- d->editorWidget = editorWidget;
- }
- \endcode
-
- The destructor does nothing other than deleting the private \bold {"d"} object.
-
- \code
- HtmlFile::~HtmlFile()
- {
- delete d;
- }
- \endcode
-
- The \bold {setModified()} function stores the modification flag and emits the \bold {changed()} signal.
-
- \code
-
- void HtmlFile::setModified(bool val)
- {
- if(d->modified == val)
- return;
- d->modified = val;
- emit changed();
- }
-
- bool HtmlFile::isModified() const
- {
- return d->modified;
- }
-
- \endcode
-
- Returns the mime-type handled by this class.
-
- \code
-
- QString HtmlFile::mimeType() const
- {
- return d->mimeType;
- }
- \endcode
-
- The save method is called when file->save action (Ctrl+s) is triggered. This saves the contents of \bold {HtmlEditorWidget}
- (the contents shown by plain text editor) in the file as shown below. The modified flag is set to false after the contents
- are saved into the file.
-
-
- \code
- bool HtmlFile::save(const QString &fileName)
- {
- QFile file(fileName);
- if(file.open(QFile::WriteOnly))
- {
- d->fileName = fileName;
- QByteArray content = d->editorWidget->content();
- file.write(content);
- setModified(false);
- return true;
- }
- return false;
- }
- \endcode
-
- The \bold {open} method is called when file->open action is triggered. This opens the file and calls the setContent()
- method of \bold {HtmlEditorWidget}. The display name is set to the title of the html file.
-
- \code
- bool HtmlFile::open(const QString &fileName)
- {
- QFile file(fileName);
- if(file.open(QFile::ReadOnly))
- {
- d->fileName = fileName;
- QString path = QFileInfo(fileName).absolutePath();
- d->editorWidget->setContent(file.readAll(), path);
- d->editor->setDisplayName(d->editorWidget->title());
- return true;
- }
- return false;
- }
-
- \endcode
-
- The following methods implement the "filename" property.
-
- \code
- void HtmlFile::setFilename(const QString& filename)
- {
- d->fileName = filename;
- }
-
- QString HtmlFile::fileName() const
- {
- return d->fileName;
- }
- \endcode
-
- We implement the \bold {defaultPath()},\bold { suggestedFileName()},\bold {fileFilter()} and fileExtension()
- methods to do nothing at the moment.
-
- \code
- QString HtmlFile::defaultPath() const
- {
- return QString();
- }
-
- QString HtmlFile::suggestedFileName() const
- {
- return QString();
- }
-
- QString HtmlFile::fileFilter() const
- {
- return QString();
- }
-
- QString HtmlFile::fileExtension() const
- {
- return QString();
- }
- \endcode
-
- Since we want to edit the file, we return false in \bold {isReadOnly()} method and true from \bold {isSaveAsAllowed()}
- method.
-
- \code
- bool HtmlFile::isReadOnly() const
- {
- return false;
- }
-
- bool HtmlFile::isSaveAsAllowed() const
- {
- return true;
- }
- \endcode
-
- The \bold {modified()} function has to be implemented to customize the way in which the Html editor should handle
- reloading of a modified file. This function is called if a html-file was modified outside of Qt Creator, while it is being
- edited. For now we do nothing.
-
- \code
- void HtmlFile::modified(ReloadBehavior* behavior)
- {
- Q_UNUSED(behavior);
- }
- \endcode
-
- \section2 10.2.3 Implementing the Core::IEditor interface
-
- The \bold {HtmlEditor} class implements \bold {IEditor} interface to provide an editor widget for html (*.html) files and
- associate a \bold {HtmlFile} instance with it.
-
-
- \code
- #include <coreplugin/editormanager/ieditor.h>
- struct HtmlEditorData;
- class HtmlEditor : public Core::IEditor
- {
- Q_OBJECT
-
- public:
- HtmlEditor(HtmlEditorWidget* editorWidget);
- ~HtmlEditor();
-
- bool createNew(const QString& contents = QString());
- QString displayName() const;
-
- IEditor* duplicate(QWidget* parent);
- bool duplicateSupported() const;
- Core::IFile* file();
-
-
- bool isTemporary() const;
- const char* kind() const;
- bool open(const QString& fileName = QString()) ;
- bool restoreState(const QByteArray& state);
- QByteArray saveState() const;
- void setDisplayName(const QString &title);
- QToolBar* toolBar();
-
- // From Core::IContext
- QWidget* widget();
- QList<int> context() const;
-
- protected slots:
- void slotTitleChanged(const QString& title)
- { setDisplayName(title); }
-
- private:
- HtmlEditorData* d;
- };
-
- \endcode
-
- \bold {HtmlEditorData} holds object of \bold {HtmlEditorWidget} and \bold {HtmlFile}. displayName is used as visual
- description of the document.
-
- \code
- struct HtmlEditorData
- {
- HtmlEditorData() : editorWidget(0), file(0) { }
- HtmlEditorWidget* editorWidget;
- QString displayName;
- HtmlFile* file;
- QList<int> context;
- };
- \endcode
-
- The constructor creates initializes itself on an \bold {HtmlEditorWidget}. It creates an \bold {HtmlFile} instance so that its
- association with \bold {HtmlEditor} and widget is set.
-
- \code
- HtmlEditor::HtmlEditor(HtmlEditorWidget* editorWidget): Core::IEditor(editorWidget)
- {
- d = new HtmlEditorData;
- d->editorWidget = editorWidget;
- d->file = new HtmlFile(this, editorWidget);
- Core::UniqueIDManager* uidm = Core::UniqueIDManager::instance();
- d->context << uidm->uniqueIdentifier(HtmlEditorConstants::C_HTMLEDITOR);
-
- connect(d->editorWidget, SIGNAL(contentModified()),d->file,SLOT(modified()));
- connect(d->editorWidget, SIGNAL(titleChanged(QString)),this,SLOT(slotTitleChanged(QString)));
- connect(d->editorWidget, SIGNAL(contentModified()),this,SIGNAL(changed()));
- }
- \endcode
-
- The destructor does nothing other than deleting the private \bold {'d'} object.
-
- \code
- HtmlEditor::~HtmlEditor()
- {
- delete d;
- }
- \endcode
-
- The following functions are self explanatory.
-
- \code
- QWidget* HtmlEditor::widget()
- {
- return d->editorWidget;
- }
-
- QList<int> HtmlEditor::context() const
- {
- return d->context;
- }
-
- Core::IFile* HtmlEditor::file()
- {
- return d->file;
- }
- \endcode
-
- The \bold {createNew()} method is implemented to reset the contents of the \bold {HtmlEditorWidget} and \bold {HtmlFile}
- objects. For now we ignore the contents parameter.
-
- \code
- bool HtmlEditor::createNew(const QString& contents)
- {
- Q_UNUSED(contents);
- d->editorWidget->setContent(QByteArray());
- d->file->setFilename(QString());
- return true;
- }
- \endcode
-
- The \bold {open()} method causes the \bold {HtmlFile} to open a given filename. It is assumed that the filename is a HTML
- filename.
-
- \code
- bool HtmlEditor::open(const QString &fileName)
- {
- return d->file->open(fileName);
- }
-
- \endcode
-
- The following method returns the \bold {'kind'} of the editor.
-
- \code
- namespace HtmlEditorConstants
- {
- const char* const C_HTMLEDITOR_MIMETYPE = "text/html";
- const char* const C_HTMLEDITOR = "HTML Editor";
- }
-
- const char* HtmlEditor::kind() const
- {
- return HtmlEditorConstants::C_HTMLEDITOR;
- }
-
- \endcode
-
- The string returned by \bold {displayName} is used in the open-file combobox. The following methods help set and fetch the
- display name.
-
- \code
- QString HtmlEditor::displayName() const
- {
- return d->displayName;
- }
-
- void HtmlEditor::setDisplayName(const QString& title)
- {
- if(d->displayName == title)
- return;
- d->displayName = title;
- emit changed();
- }
- \endcode
-
- We implement the following methods to do nothing in this example.
-
- \code
- bool HtmlEditor::duplicateSupported() const
- {
- return false;
- }
-
- Core::IEditor* HtmlEditor::duplicate(QWidget* parent)
- {
- Q_UNUSED(parent);
- return 0;
- }
-
- QByteArray HtmlEditor::saveState() const
- {
- return QByteArray();
- }
-
- bool HtmlEditor::restoreState(const QByteArray& state)
- {
- Q_UNUSED(state);
- return false;
- }
-
- QToolBar* HtmlEditor::toolBar()
- {
- return 0;
- }
-
- bool HtmlEditor::isTemporary() const
- {
- return false;
- }
- \endcode
-
- \section2 10.2.4 Implementing the Core::IEditorFactory interface
-
- The \bold HtmlEditorFactory class implements the \bold Core::IEditorFactory interface; and is declared as follows.
-
- \code
- #include <coreplugin/editormanager/ieditorfactory.h>
-
- struct HtmlEditorFactoryData;
-
- class HtmlEditorFactory : public Core::IEditorFactory
- {
- Q_OBJECT
-
- public:
- HtmlEditorFactory(HtmlEditorPlugin* owner);
- ~HtmlEditorFactory();
- QStringList mimeTypes() const;
- QString kind() const;
- Core::IEditor* createEditor(QWidget* parent);
- Core::IFile* open(const QString &fileName);
-
- private:
- HtmlEditorFactoryData* d;
- };
- \endcode
-
- \bold {HtmlEditorFactoryData} structure holds the private data of the \bold {HtmlEditorFactory} class. Notice that the
- constructor initializes the mime-types to \bold {HtmlEditorConstants::C_HTMLEDITOR_MYMETYPE}. It also
- initializes the \bold {kind} of the editor. This kind should be same as \bold{kind} of \bold {HtmlEditor}.
-
- \code
- namespace HtmlEditorConstants
- {
- const char* const C_HTMLEDITOR_MIMETYPE = "text/html";
- const char* const C_HTMLEDITOR = "HTML Editor";
- }
-
- struct HtmlEditorFactoryData
- {
- HtmlEditorFactoryData(): kind(HtmlEditorConstants::C_HTMLEDITOR)
- {
- mimeTypes << QString(HtmlEditorConstants::C_HTMLEDITOR_MIMETYPE);
- }
-
- QString kind;
- QStringList mimeTypes;
- };
- \endcode
-
- The following methods are self-explanatory.
-
- \code
- HtmlEditorFactory::HtmlEditorFactory(HtmlEditorPlugin* owner):Core::IEditorFactory(owner)
- {
- d = new HtmlEditorFactoryData;
- }
-
- HtmlEditorFactory::~HtmlEditorFactory()
- {
- delete d;
- }
-
- QStringList HtmlEditorFactory::mimeTypes() const
- {
- return d->mimeTypes;
- }
-
- QString HtmlEditorFactory::kind() const
- {
- return d->kind;
- }
- \endcode
-
-
- The \bold {open()} method should be implemented to return the IFile that is currently handling the given filename. If there
- are none, then a new editor for the file is created and it's IFile is returned. To fully understand this process take a
- look at the implementation of \bold {Core::EditorManager::openEditor()} method.
-
- \code
- Core::IFile* HtmlEditorFactory::open(const QString& fileName)
- {
- Core::EditorManager* em = Core::EditorManager::instance();
- Core::IEditor* iface = em->openEditor(fileName, d->kind);
- return iface ? iface->file() : 0;
- }
- \endcode
-
- This method creates and returns an instance of the \bold {HtmlEditor} class.
-
- \code
- Core::IEditor* HtmlEditorFactory::createEditor(QWidget* parent)
- {
- HtmlEditorWidget* editorWidget = new HtmlEditorWidget(parent);
- return new HtmlEditor(editorWidget);
- }
- \endcode
-
- \section2 10.2.5 Implementing the plugin
-
- We implement the \bold {HtmlEditorPlugin} plugin class using the same means described in Chapter 2. The only change is
- the \bold {initialize()} method implementation.
-
- \code
- bool HtmlEditorPlugin::initialize(const QStringList &arguments, QString* errMsg)
- {
- Q_UNUSED(arguments);
- Core::ICore* core = Core::ICore::instance();
- Core::MimeDatabase* mdb = core->mimeDatabase();
- if(!mdb->addMimeTypes("text-html-mimetype.xml", errMsg))
- return false;
- addAutoReleasedObject(new HtmlEditorFactory(this));
- return true;
- }
- \endcode
-
- When the plugin is compiled and Qt Creator is (re)started; we will be able to load HTML files using the newly
- implemented editor plugin.
-
- \inlineimage qtc-htmleditor-10.png
-
-*/
diff --git a/doc/pluginhowto/examples/dirmodelplugin/DirModelPlugin.pluginspec b/doc/pluginhowto/examples/dirmodelplugin/DirModelPlugin.pluginspec
deleted file mode 100644
index df114df4c8..0000000000
--- a/doc/pluginhowto/examples/dirmodelplugin/DirModelPlugin.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="DirModelPlugin" version="0.0.1">
- <vendor>FooCompany</vendor>
- <copyright>(C) 2009-2011 FooCompanyInc Pvt. Ltd.</copyright>
- <license>GPL</license>
- <description>Dir Model</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.cpp b/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.cpp
deleted file mode 100644
index cf01e37b74..0000000000
--- a/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "dirmodelpluginplugin.h"
-
-#include <QtPlugin>
-#include <QStringList>
-#include "DirNavigationFactory.h"
-
-DirModelPluginPlugin::DirModelPluginPlugin()
-{
- // Do nothing
-}
-
-DirModelPluginPlugin::~DirModelPluginPlugin()
-{
- // Do notning
-}
-
-void DirModelPluginPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool DirModelPluginPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
- addAutoReleasedObject(new DirNavigationFactory);
- return true;
-}
-
-void DirModelPluginPlugin::shutdown()
-{
- // Do nothing
-}
-
-Q_EXPORT_PLUGIN(DirModelPluginPlugin)
diff --git a/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.h b/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.h
deleted file mode 100644
index ab27848422..0000000000
--- a/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 DIRMODELPLUGIN_PLUGIN_H
-#define DIRMODELPLUGIN_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class DirModelPluginPlugin : public ExtensionSystem::IPlugin
-{
-public:
- DirModelPluginPlugin();
- ~DirModelPluginPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList & arguments, QString * errorString);
- void shutdown();
-};
-
-#endif // DIRMODELPLUGIN_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.pro b/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.pro
deleted file mode 100644
index ed816f9253..0000000000
--- a/doc/pluginhowto/examples/dirmodelplugin/dirmodelpluginplugin.pro
+++ /dev/null
@@ -1,25 +0,0 @@
-# Uncomment the lines below and set the path
-
-QTC_SOURCE = C:/Work/QtCreator
-QTC_BUILD = C:/Work/QtCreator/build
-
-TEMPLATE = lib
-TARGET = DirModelPlugin
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-
-PROVIDER = FooCompanyInc
-
-
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = dirmodelpluginplugin.h \
- dirnavigationfactory.h \
- filesystemmodel.h
-SOURCES = dirmodelpluginplugin.cpp \
- dirnavigationfactory.cpp \
- filesystemmodel.cpp
-OTHER_FILES = DirModelPlugin.pluginspec
diff --git a/doc/pluginhowto/examples/dirmodelplugin/dirnavigationfactory.cpp b/doc/pluginhowto/examples/dirmodelplugin/dirnavigationfactory.cpp
deleted file mode 100644
index 036e3e0435..0000000000
--- a/doc/pluginhowto/examples/dirmodelplugin/dirnavigationfactory.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "dirnavigationfactory.h"
-#include "filesystemmodel.h"
-
-#include <QTreeView>
-#include <QDir>
-
-#include <coreplugin/navigationwidget.h>
-/**
- \todo
-*/
-Core::NavigationView DirNavigationFactory::createWidget()
-{
- Core::NavigationView view;
-
- // Create FileSystemModel and set the default path as home path
- FileSystemModel* model = new FileSystemModel;
- model->setRootPath(QDir::homePath());
-
- // Create TreeView and set model
- QTreeView* tree = new QTreeView;
- tree->setModel(model);
-
- view.widget = tree;
-
- return view;
-}
-
-/**
- \todo
-*/
-QString DirNavigationFactory::displayName()
-{
- return "Dir View";
-}
-
diff --git a/doc/pluginhowto/examples/dirmodelplugin/dirnavigationfactory.h b/doc/pluginhowto/examples/dirmodelplugin/dirnavigationfactory.h
deleted file mode 100644
index e9514efa93..0000000000
--- a/doc/pluginhowto/examples/dirmodelplugin/dirnavigationfactory.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 DIRNAVIGATIONFACTORY_H
-#define DIRNAVIGATIONFACTORY_H
-
-#include <coreplugin/inavigationwidgetfactory.h>
-
-class DirNavigationFactory : public Core::INavigationWidgetFactory
-{
-public:
- DirNavigationFactory(){ }
- ~DirNavigationFactory() { }
- Core::NavigationView createWidget();
- QString displayName();
-};
-
-#endif // DIRNAVIGATIONFACTORY_H
diff --git a/doc/pluginhowto/examples/dirmodelplugin/filesystemmodel.cpp b/doc/pluginhowto/examples/dirmodelplugin/filesystemmodel.cpp
deleted file mode 100644
index 9ab39772e1..0000000000
--- a/doc/pluginhowto/examples/dirmodelplugin/filesystemmodel.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "filesystemmodel.h"
-
-FileSystemModel::FileSystemModel(QObject* parent)
- :QFileSystemModel(parent)
-{
-
-}
-
-FileSystemModel::~FileSystemModel()
-{
-
-}
-
-int FileSystemModel::columnCount(const QModelIndex &parent ) const
-{
- Q_UNUSED(parent)
- return 1;
-}
-
-
diff --git a/doc/pluginhowto/examples/dirmodelplugin/filesystemmodel.h b/doc/pluginhowto/examples/dirmodelplugin/filesystemmodel.h
deleted file mode 100644
index 11e9a0c053..0000000000
--- a/doc/pluginhowto/examples/dirmodelplugin/filesystemmodel.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 FILESYSTEMMODEL_H
-#define FILESYSTEMMODEL_H
-
-#include <QFileSystemModel>
-
-/**
- This FileSystemModel is subcalss of QFileSystemModel which just returns only 1 column.
-*/
-class FileSystemModel : public QFileSystemModel
-{
-public:
- FileSystemModel(QObject* parent=0);
- ~FileSystemModel();
- int columnCount(const QModelIndex &parent = QModelIndex()) const;
-};
-
-#endif // FILESYSTEMMODEL_H
diff --git a/doc/pluginhowto/examples/donothing/DoNothing.pluginspec b/doc/pluginhowto/examples/donothing/DoNothing.pluginspec
deleted file mode 100644
index 35e922e5af..0000000000
--- a/doc/pluginhowto/examples/donothing/DoNothing.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="DoNothing" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright>FooCompanyInc</copyright>
- <license></license>
- <description>DO NOTHING</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/donothing/donothingplugin.cpp b/doc/pluginhowto/examples/donothing/donothingplugin.cpp
deleted file mode 100644
index 12cebcf16e..0000000000
--- a/doc/pluginhowto/examples/donothing/donothingplugin.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "donothingplugin.h"
-
-#include <QtPlugin>
-#include <QStringList>
-
-
-DoNothingPlugin::DoNothingPlugin()
-{
- // Do nothing
-}
-
-DoNothingPlugin::~DoNothingPlugin()
-{
- // Do notning
-}
-
-void DoNothingPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool DoNothingPlugin::initialize(const QStringList &args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- return true;
-}
-
-ExtensionSystem::IPlugin::ShutdownFlag DoNothingPlugin::shutdown()
-{
- return SynchronousShutdown;
-}
-
-Q_EXPORT_PLUGIN(DoNothingPlugin)
diff --git a/doc/pluginhowto/examples/donothing/donothingplugin.h b/doc/pluginhowto/examples/donothing/donothingplugin.h
deleted file mode 100644
index 47716408a5..0000000000
--- a/doc/pluginhowto/examples/donothing/donothingplugin.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 DONOTHING_PLUGIN_H
-#define DONOTHING_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class DoNothingPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-public:
- DoNothingPlugin();
- ~DoNothingPlugin();
- void extensionsInitialized();
- bool initialize(const QStringList &arguments, QString *errorString);
- ShutdownFlag shutdown();
-};
-
-#endif // DONOTHING_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/donothing/donothingplugin.pro b/doc/pluginhowto/examples/donothing/donothingplugin.pro
deleted file mode 100644
index 954f62d199..0000000000
--- a/doc/pluginhowto/examples/donothing/donothingplugin.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = lib
-TARGET = DoNothing
-
-isEmpty(QTC_SOURCE):IDE_SOURCE_TREE=$$PWD/../../../../
-else:IDE_SOURCE_TREE=$$(QTC_SOURCE)
-
-isEmpty(QTC_BUILD):IDE_BUILD_TREE=$$OUT_PWD/../../../../
-else:IDE_BUILD_TREE=$$(QTC_BUILD)
-
-PROVIDER = FooCompanyInc
-
-include($$IDE_SOURCE_TREE/src/qtcreatorplugin.pri)
-include($$IDE_SOURCE_TREE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = donothingplugin.h
-SOURCES = donothingplugin.cpp
-OTHER_FILES = DoNothing.pluginspec
-
-
diff --git a/doc/pluginhowto/examples/examples.pro b/doc/pluginhowto/examples/examples.pro
deleted file mode 100644
index a055c4a747..0000000000
--- a/doc/pluginhowto/examples/examples.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-TEMPLATE = subdirs
-
-CONFIG += ordered
-
-SUBDIRS = donothing/donothingplugin.pro \
- menu
diff --git a/doc/pluginhowto/examples/headerfilter/HeaderFilter.pluginspec b/doc/pluginhowto/examples/headerfilter/HeaderFilter.pluginspec
deleted file mode 100644
index 446eec434d..0000000000
--- a/doc/pluginhowto/examples/headerfilter/HeaderFilter.pluginspec
+++ /dev/null
@@ -1,11 +0,0 @@
-<plugin name="HeaderFilter" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright></copyright>
- <license></license>
- <description>{{PLUGIN_DESCRIPTION}}</description>
- <url>http://www.foocompany.com</url>
- <dependencyList>
- <dependency name="Core"/>
- <dependency name="Find"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/headerfilter/headerfilter.cpp b/doc/pluginhowto/examples/headerfilter/headerfilter.cpp
deleted file mode 100644
index 75efafaf36..0000000000
--- a/doc/pluginhowto/examples/headerfilter/headerfilter.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "headerfilter.h"
-
-#include <extensionsystem/pluginmanager.h>
-#include <find/searchresultwindow.h>
-#include <projectexplorer/iprojectmanager.h>
-#include <projectexplorer/project.h>
-#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
-#include <texteditor/basetexteditor.h>
-#include <utils/filesearch.h>
-
-#include <QFutureWatcher>
-#include <QLabel>
-
-
-using namespace Core;
-using namespace Utils;
-
-
-class HeaderFilterPrivate
-{
-public:
- HeaderFilterPrivate()
- : m_projectPlugin(0), m_searchResultWindow(0)
- {}
-
- ProjectExplorer::ProjectExplorerPlugin *projectExplorer()
- {
- if (m_projectPlugin)
- return m_projectPlugin;
-
- ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
- m_projectPlugin = pm->getObject<ProjectExplorer::ProjectExplorerPlugin>();
- return m_projectPlugin;
- }
-
- // Method to search and return the search window
- Find::SearchResultWindow *searchResultWindow()
- {
- if (m_searchResultWindow)
- return m_searchResultWindow;
-
- ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
- m_searchResultWindow = pm->getObject<Find::SearchResultWindow>();
- return m_searchResultWindow;
- }
-
- QFutureWatcher<FileSearchResult> watcher;
-
-private:
- ProjectExplorer::ProjectExplorerPlugin *m_projectPlugin;
- Find::SearchResultWindow *m_searchResultWindow;
-};
-
-HeaderFilter::HeaderFilter()
-{
- d = new HeaderFilterPrivate;
- d->watcher.setPendingResultsLimit(1);
-
- // displayResult(int) is called when every a new
- // search result is generated
- connect(&d->watcher, SIGNAL(resultReadyAt(int)),this, SLOT(displayResult(int)));
-}
-
-HeaderFilter::~HeaderFilter()
-{
- delete d;
-}
-
-QString HeaderFilter::id() const
-{
- return "HeaderFilter";
-}
-
-QString HeaderFilter::displayName() const
-{
- return tr("Header Filter");
-}
-
-bool HeaderFilter::canCancel() const
-{
- return false;
-}
-
-void HeaderFilter::cancel()
-{
-}
-
-bool HeaderFilter::isEnabled() const
-{
- QList<ProjectExplorer::Project *> projects = d->projectExplorer()->session()->projects();
- return !projects.isEmpty();
-}
-
-QKeySequence HeaderFilter::defaultShortcut() const
-{
- return QKeySequence();
-}
-
-QWidget *HeaderFilter::createConfigWidget()
-{
- return new QLabel("This is a header filter");
-}
-
-void HeaderFilter::findAll(const QString &text, Find::FindFlags findFlags)
-{
- // Fetch a list of all open projects
- QList<ProjectExplorer::Project *> projects = d->projectExplorer()->session()->projects();
-
- // Make a list of files in each project
- QStringList files;
- foreach (ProjectExplorer::Project *project, projects)
- files += project->files(ProjectExplorer::Project::AllFiles);
-
- // Remove duplicates
- files.removeDuplicates();
-
- //------------------------------------------------------------
- // Begin searching
- QString includeline = "#include <" + text + '>';
- Find::SearchResult *result = d->searchResultWindow()->startNewSearch();
-
- d->watcher.setFuture(QFuture<FileSearchResult>());
-
- // When result gets activated it invokes the openEditor function
- connect(result, SIGNAL(activated(Find::SearchResultItem)),
- this, SLOT(openEditor(Find::SearchResultItem)));
-
- d->searchResultWindow()->popup(true);
-
- // Let the watcher monitor the search results
- d->watcher.setFuture(Utils::findInFiles(includeline, files, findFlags));
-}
-
-void HeaderFilter::displayResult(int index)
-{
- FileSearchResult result = d->watcher.future().resultAt(index);
-
- d->searchResultWindow()->addResult(result.fileName,
- result.lineNumber,
- result.matchingLine,
- result.matchStart,
- result.matchLength);
-}
-
-void HeaderFilter::openEditor(const Find::SearchResultItem &item)
-{
- TextEditor::BaseTextEditor::openEditorAt(item.fileName, item.lineNumber, item.index);
-}
-
diff --git a/doc/pluginhowto/examples/headerfilter/headerfilter.h b/doc/pluginhowto/examples/headerfilter/headerfilter.h
deleted file mode 100644
index c343138187..0000000000
--- a/doc/pluginhowto/examples/headerfilter/headerfilter.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 HEADERFILTER_H
-#define HEADERFILTER_H
-
-
-#include <find/ifindfilter.h>
-#include <utils/filesearch.h>
-
-namespace Find {
-class SearchResultWindow;
-struct SearchResultItem;
-}
-
-QT_BEGIN_NAMESPACE
-class QKeySequence;
-class QWidget;
-QT_END_NAMESPACE
-
-class HeaderFilterPrivate;
-
-class HeaderFilter : public Find::IFindFilter
-{
- Q_OBJECT
-
-public:
- HeaderFilter();
- ~HeaderFilter();
-
- QString id() const;
- bool isEnabled() const;
- QKeySequence defaultShortcut() const;
- void findAll(const QString &text, Find::FindFlags findFlags);
- QWidget *createConfigWidget();
- QString displayName() const;
- bool canCancel() const;
- void cancel();
-
-protected slots:
- void displayResult(int index);
- void openEditor(const Find::SearchResultItem &item);
-
-private:
- HeaderFilterPrivate *d;
-};
-
-
-#endif // HEADERFILTER_H
diff --git a/doc/pluginhowto/examples/headerfilter/headerfilterplugin.cpp b/doc/pluginhowto/examples/headerfilter/headerfilterplugin.cpp
deleted file mode 100644
index 40e84b4264..0000000000
--- a/doc/pluginhowto/examples/headerfilter/headerfilterplugin.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "headerfilterplugin.h"
-#include "headerfilter.h"
-
-#include <QtPlugin>
-#include <QStringList>
-
-HeaderFilterPlugin::HeaderFilterPlugin()
-{
- // Do nothing
-}
-
-HeaderFilterPlugin::~HeaderFilterPlugin()
-{
- // Do notning
-}
-
-void HeaderFilterPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool HeaderFilterPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- addAutoReleasedObject( new HeaderFilter);
- return true;
-}
-
-void HeaderFilterPlugin::shutdown()
-{
- // Do nothing
-}
-
-Q_EXPORT_PLUGIN(HeaderFilterPlugin)
diff --git a/doc/pluginhowto/examples/headerfilter/headerfilterplugin.h b/doc/pluginhowto/examples/headerfilter/headerfilterplugin.h
deleted file mode 100644
index 4cdb64c909..0000000000
--- a/doc/pluginhowto/examples/headerfilter/headerfilterplugin.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 HEADERFILTER_PLUGIN_H
-#define HEADERFILTER_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class HeaderFilterPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-public:
- HeaderFilterPlugin();
- ~HeaderFilterPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList & arguments, QString * errorString);
- void shutdown();
-};
-
-#endif // HEADERFILTER_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/headerfilter/headerfilterplugin.pro b/doc/pluginhowto/examples/headerfilter/headerfilterplugin.pro
deleted file mode 100644
index 3b9a1852df..0000000000
--- a/doc/pluginhowto/examples/headerfilter/headerfilterplugin.pro
+++ /dev/null
@@ -1,28 +0,0 @@
-#QTC_SOURCE = C:/Work/QtCreator
-#QTC_BUILD = C:/Work/QtCreator/build
-QTC_SOURCE = ../../../..
-QTC_BUILD = ../../../..
-DEFINES += FIND_LIBRARY
-
-TEMPLATE = lib
-TARGET = HeaderFilter
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-
-PROVIDER = FooCompanyInc
-
-include($$QTC_SOURCE/src/libs/extensionsystem/extensionsystem.pri)
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-include($$QTC_SOURCE/src/libs/utils/utils.pri)
-include($$QTC_SOURCE/src/plugins/projectexplorer/projectexplorer.pri)
-include($$QTC_SOURCE/src/plugins/find/find.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = headerfilterplugin.h \
- headerfilter.h
-SOURCES = headerfilterplugin.cpp \
- headerfilter.cpp
-OTHER_FILES = HeaderFilter.pluginspec
-
diff --git a/doc/pluginhowto/examples/htmleditor/HTMLEditor.pluginspec b/doc/pluginhowto/examples/htmleditor/HTMLEditor.pluginspec
deleted file mode 100644
index 9e258df375..0000000000
--- a/doc/pluginhowto/examples/htmleditor/HTMLEditor.pluginspec
+++ /dev/null
@@ -1,11 +0,0 @@
-<plugin name="HTMLEditor" version="0.0.1">
- <vendor>FooCompanyInc Pvt. Ltd</vendor>
- <copyright>(C) 2009-2011 FooCompanyInc Pvt. Ltd.</copyright>
- <license></license>
- <description>{{PLUGIN_DESCRIPTION}}</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
-
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditor.cpp b/doc/pluginhowto/examples/htmleditor/htmleditor.cpp
deleted file mode 100644
index 03812f2c06..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditor.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "htmlfile.h"
-#include "htmleditor.h"
-#include "htmleditorwidget.h"
-
-#include "coreplugin/uniqueidmanager.h"
-
-struct HTMLEditorData
-{
- HTMLEditorData() : editorWidget(0), file(0) { }
-
- HTMLEditorWidget* editorWidget;
- QString displayName;
- HTMLFile* file;
- QList<int> context;
-};
-
-namespace HTMLEditorConstants
-{
- const char* const C_HTMLEDITOR_MIMETYPE = "text/html";
- const char* const C_HTMLEDITOR = "HTML Editor";
-}
-
-HTMLEditor::HTMLEditor(HTMLEditorWidget* editorWidget)
- :Core::IEditor(editorWidget)
-{
- d = new HTMLEditorData;
- d->editorWidget = editorWidget;
- d->file = new HTMLFile(this, editorWidget);
-
- Core::UniqueIDManager* uidm = Core::UniqueIDManager::instance();
- d->context << uidm->uniqueIdentifier(HTMLEditorConstants::C_HTMLEDITOR);
-
- connect(d->editorWidget, SIGNAL(contentModified()),
- d->file, SLOT(modified()));
- connect(d->editorWidget, SIGNAL(titleChanged(QString)),
- this, SLOT(slotTitleChanged(QString)));
- connect(d->editorWidget, SIGNAL(contentModified()),
- this, SIGNAL(changed()));
-}
-
-HTMLEditor::~HTMLEditor()
-{
- delete d;
-}
-
-QWidget* HTMLEditor::widget()
-{
- return d->editorWidget;
-}
-
-QList<int> HTMLEditor::context() const
-{
- return d->context;
-}
-
-Core::IFile* HTMLEditor::file()
-{
- return d->file;
-}
-
-bool HTMLEditor::createNew(const QString& contents)
-{
- Q_UNUSED(contents);
-
- d->editorWidget->setContent(QByteArray());
- d->file->setFilename(QString());
-
- return true;
-}
-
-bool HTMLEditor::open(const QString &fileName)
-{
- return d->file->open(fileName);
-}
-
-const char* HTMLEditor::kind() const
-{
- return HTMLEditorConstants::C_HTMLEDITOR;
-}
-
-QString HTMLEditor::displayName() const
-{
- return d->displayName;
-}
-
-void HTMLEditor::setDisplayName(const QString& title)
-{
- if(d->displayName == title)
- return;
-
- d->displayName = title;
- emit changed();
-}
-
-bool HTMLEditor::duplicateSupported() const
-{
- return false;
-}
-Core::IEditor* HTMLEditor::duplicate(QWidget* parent)
-{
- Q_UNUSED(parent);
-
- return 0;
-}
-
-QByteArray HTMLEditor::saveState() const
-{
- return QByteArray();
-}
-
-bool HTMLEditor::restoreState(const QByteArray& state)
-{
- Q_UNUSED(state);
-
- return false;
-}
-
-QToolBar* HTMLEditor::toolBar()
-{
- return 0;
-}
-
-bool HTMLEditor::isTemporary() const
-{
- return false;
-}
-
-
-
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditor.h b/doc/pluginhowto/examples/htmleditor/htmleditor.h
deleted file mode 100644
index 3516c88e75..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditor.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 HTMLEDITOR_H
-#define HTMLEDITOR_H
-
-#include "coreplugin/editormanager/ieditor.h"
-
-#include <QToolBar>
-
-class HTMLEditorWidget;
-
-struct HTMLEditorData;
-class HTMLEditor : public Core::IEditor
-{
- Q_OBJECT
-
-public:
- HTMLEditor(HTMLEditorWidget* editorWidget);
- ~HTMLEditor();
-
- bool createNew(const QString& contents = QString());
- QString displayName() const;
- IEditor* duplicate(QWidget* parent);
- bool duplicateSupported() const;
- Core::IFile* file();
- bool isTemporary() const;
- const char* kind() const;
- bool open(const QString& fileName = QString()) ;
- bool restoreState(const QByteArray& state);
- QByteArray saveState() const;
- void setDisplayName(const QString &title);
- QToolBar* toolBar();
-
- // From Core::IContext
- QWidget* widget();
- QList<int> context() const;
-
-protected slots:
- void slotTitleChanged(const QString& title)
- { setDisplayName(title); }
-
-private:
- HTMLEditorData* d;
-};
-
-#endif // HTMLEDITOR_H
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditorfactory.cpp b/doc/pluginhowto/examples/htmleditor/htmleditorfactory.cpp
deleted file mode 100644
index f84d250736..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditorfactory.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "coreplugin/editormanager/editormanager.h"
-#include "htmleditorfactory.h"
-#include "htmleditorwidget.h"
-#include "htmleditorplugin.h"
-#include "htmleditor.h"
-
-namespace HTMLEditorConstants
-{
- const char* const C_HTMLEDITOR_MIMETYPE = "text/html";
- const char* const C_HTMLEDITOR = "HTML Editor";
-}
-
-struct HTMLEditorFactoryData
-{
- HTMLEditorFactoryData() : kind(HTMLEditorConstants::C_HTMLEDITOR)
- {
- mimeTypes << QString(HTMLEditorConstants::C_HTMLEDITOR_MIMETYPE);
- }
-
- QString kind;
- QStringList mimeTypes;
-};
-
-
-HTMLEditorFactory::HTMLEditorFactory(HTMLEditorPlugin* owner)
- :Core::IEditorFactory(owner)
-{
- d = new HTMLEditorFactoryData;
-}
-
-HTMLEditorFactory::~HTMLEditorFactory()
-{
- delete d;
-}
-
-QStringList HTMLEditorFactory::mimeTypes() const
-{
- return d->mimeTypes;
-}
-
-QString HTMLEditorFactory::kind() const
-{
- return d->kind;
-}
-
-Core::IFile* HTMLEditorFactory::open(const QString& fileName)
-{
- Core::EditorManager* em = Core::EditorManager::instance();
- Core::IEditor* iface = em->openEditor(fileName, d->kind);
-
- return iface ? iface->file() : 0;
-}
-
-Core::IEditor* HTMLEditorFactory::createEditor(QWidget* parent)
-{
- HTMLEditorWidget* editorWidget = new HTMLEditorWidget(parent);
-
- return new HTMLEditor(editorWidget);
-}
-
-
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditorfactory.h b/doc/pluginhowto/examples/htmleditor/htmleditorfactory.h
deleted file mode 100644
index b4d617c026..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditorfactory.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 HTMLEDITORFACTORY_H
-#define HTMLEDITORFACTORY_H
-
-#include "coreplugin/editormanager/ieditorfactory.h"
-
-class HTMLEditorPlugin;
-
-struct HTMLEditorFactoryData;
-class HTMLEditorFactory : public Core::IEditorFactory
-{
- Q_OBJECT
-
-public:
- HTMLEditorFactory(HTMLEditorPlugin* owner);
- ~HTMLEditorFactory();
-
- QStringList mimeTypes() const;
- QString kind() const;
-
- Core::IEditor* createEditor(QWidget* parent);
- Core::IFile* open(const QString &fileName);
-
-private:
- HTMLEditorFactoryData* d;
-};
-
-#endif // HTMLEDITORFACTORY_H
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditorplugin.cpp b/doc/pluginhowto/examples/htmleditor/htmleditorplugin.cpp
deleted file mode 100644
index 015ceb3968..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditorplugin.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "htmleditorplugin.h"
-#include "htmleditorfactory.h"
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/actionmanager/command.h>
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/mimedatabase.h>
-#include <coreplugin/icore.h>
-#include <QtPlugin>
-#include <QString>
-#include <QMessageBox>
-#include <QFontDialog>
-
-HTMLEditorPlugin::HTMLEditorPlugin()
-{
- // Do nothing
-}
-
-HTMLEditorPlugin::~HTMLEditorPlugin()
-{
- // Do notning
-}
-
-void HTMLEditorPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool HTMLEditorPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
-
- Core::ActionManager* am = Core::ICore::instance()->actionManager();
- Core::ActionContainer* ac = am->actionContainer(Core::Constants::M_EDIT);
- QAction* Font = ac->menu()->addAction("Font");
-
- // Create a command for "Font".
- Core::Command* cmd = am->registerAction(new QAction(this),"HTMLEditorPlugin.Font",QList<int>() << 0);
- cmd->action()->setText("Font");
-
- Core::ICore* core = Core::ICore::instance();
- Core::MimeDatabase* mdb = core->mimeDatabase();
-
- if(!mdb->addMimeTypes("text-html-mimetype.xml", errMsg))
- return false;
-
- QMessageBox::information(0, "Msg", *errMsg);
-
- addAutoReleasedObject(new HTMLEditorFactory(this));
- return true;
-}
-
-void HTMLEditorPlugin::shutdown()
-{
- // Do nothing
-}
-
-Q_EXPORT_PLUGIN(HTMLEditorPlugin)
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditorplugin.h b/doc/pluginhowto/examples/htmleditor/htmleditorplugin.h
deleted file mode 100644
index b993393324..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditorplugin.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 HTMLEDITOR_PLUGIN_H
-#define HTMLEDITOR_PLUGIN_H
-
-#include "extensionsystem/iplugin.h"
-#include "coreplugin/uniqueidmanager.h"
-
-class HTMLEditorPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-public:
- HTMLEditorPlugin();
- ~HTMLEditorPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList & arguments, QString * errorString);
- void shutdown();
-};
-
-#endif // HTMLEDITOR_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditorplugin.pro b/doc/pluginhowto/examples/htmleditor/htmleditorplugin.pro
deleted file mode 100644
index 930c5f2879..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditorplugin.pro
+++ /dev/null
@@ -1,31 +0,0 @@
-QTC_SOURCE = C:/Work/QtCreator
-QTC_BUILD = C:/Work/QtCreator/build
-
-TEMPLATE = lib
-TARGET = HTMLEditor
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-PROVIDER = FooCompanyInc
-
-QT += webkit
-
-PROVIDER = FooCompanyInc
-
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = htmleditorplugin.h \
- htmleditorwidget.h \
- htmlfile.h \
- htmleditor.h \
- htmleditorfactory.h
-
-SOURCES = htmleditorplugin.cpp \
- htmleditorwidget.cpp \
- htmlfile.cpp \
- htmleditor.cpp \
- htmleditorfactory.cpp
-
-OTHER_FILES = HTMLEditor.pluginspec \
- text-html-mimetype.xml
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditorwidget.cpp b/doc/pluginhowto/examples/htmleditor/htmleditorwidget.cpp
deleted file mode 100644
index 7d750c8c97..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditorwidget.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "htmleditorwidget.h"
-
-#include <QTextEdit>
-#include <QPlainTextEdit>
-#include <QtWebKit>
-#include <QDebug>
-
-struct HTMLEditorWidgetData
-{
- QWebView* webView;
- QPlainTextEdit* textEdit;
- bool modified;
- QString path;
-};
-
-HTMLEditorWidget::HTMLEditorWidget(QWidget* parent):QTabWidget(parent)
-{
- d = new HTMLEditorWidgetData;
-
- d->webView = new QWebView;
- d->textEdit = new QPlainTextEdit;
-
- addTab(d->webView, "Preview");
- addTab(d->textEdit, "Source");
- setTabPosition(QTabWidget::South);
- setTabShape(QTabWidget::Triangular);
-
- d->textEdit->setFont( QFont("Courier", 12) );
-
- connect(this, SIGNAL(currentChanged(int)),
- this, SLOT(slotCurrentTabChanged(int)));
-
- connect(d->textEdit, SIGNAL(textChanged()),
- this, SLOT(slotContentModified()));
-
- connect(d->webView, SIGNAL(titleChanged(QString)),
- this, SIGNAL(titleChanged(QString)));
-
- d->modified = false;
-}
-
-
-HTMLEditorWidget::~HTMLEditorWidget()
-{
- delete d;
-}
-
-void HTMLEditorWidget::setContent(const QByteArray& ba, const QString& path)
-{
- if(path.isEmpty())
- d->webView->setHtml(ba);
- else
- d->webView->setHtml(ba, "file:///" + path);
- d->textEdit->setPlainText(ba);
- d->modified = false;
- d->path = path;
-}
-
-QByteArray HTMLEditorWidget::content() const
-{
- QString HTMLText = d->textEdit->toPlainText();
- return HTMLText.toAscii();
-}
-
-QString HTMLEditorWidget::title() const
-{
- return d->webView->title();
-}
-
-void HTMLEditorWidget::slotCurrentTabChanged(int tab)
-{
- if(tab == 0 && d->modified)
- setContent( content(), d->path );
-}
-
-void HTMLEditorWidget::slotContentModified()
-{
- d->modified = true;
- emit contentModified();
-}
-
-
diff --git a/doc/pluginhowto/examples/htmleditor/htmleditorwidget.h b/doc/pluginhowto/examples/htmleditor/htmleditorwidget.h
deleted file mode 100644
index 6a15993a8f..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmleditorwidget.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 RTEDITORWIDGET_H
-#define RTEDITORWIDGET_H
-
-#include<QTabWidget>
-
-struct HTMLEditorWidgetData;
-class HTMLEditorWidget:public QTabWidget
-{
- Q_OBJECT
-
-public:
- HTMLEditorWidget(QWidget* parent = 0);
- ~HTMLEditorWidget();
-
- void setContent(const QByteArray& ba, const QString& path=QString());
- QByteArray content() const;
-
- QString title() const;
-
-protected slots:
- void slotCurrentTabChanged(int tab);
- void slotContentModified();
-
-signals:
- void contentModified();
- void titleChanged(const QString&);
-
-private:
- HTMLEditorWidgetData* d;
-};
-
-#endif // RTEDITORWIDGET_H
diff --git a/doc/pluginhowto/examples/htmleditor/htmlfile.cpp b/doc/pluginhowto/examples/htmleditor/htmlfile.cpp
deleted file mode 100644
index 1781b206a2..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmlfile.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "htmlfile.h"
-#include<QFile>
-#include<QFileInfo>
-
-namespace HTMLEditorConstants
-{
- const char* const C_HTMLEDITOR_MIMETYPE = "text/html";
- const char* const C_HTMLEDITOR = "HTML Editor";
-}
-struct HTMLFileData
-{
- HTMLFileData(): mimeType(HTMLEditorConstants::C_HTMLEDITOR),
- editorWidget(0), editor(0), modified(false) { }
- const QString mimeType;
- HTMLEditorWidget* editorWidget;
- HTMLEditor* editor;
- QString fileName;
- bool modified;
-};
-
-HTMLFile::HTMLFile(HTMLEditor* editor, HTMLEditorWidget* editorWidget)
- : Core::IFile(editor)
-{
- d = new HTMLFileData;
- d->editor = editor;
- d->editorWidget = editorWidget;
-}
-
-
-HTMLFile::~HTMLFile()
-{
- delete d;
-}
-
-void HTMLFile::setModified(bool val)
-{
- if(d->modified == val)
- return;
-
- d->modified = val;
- emit changed();
-}
-
-bool HTMLFile::isModified() const
-{
- return d->modified;
-}
-
-QString HTMLFile::mimeType() const
-{
- return d->mimeType;
-}
-
-bool HTMLFile::save(const QString &fileName)
-{
- QFile file(fileName);
-
- if(file.open(QFile::WriteOnly))
- {
- d->fileName = fileName;
-
- QByteArray content = d->editorWidget->content();
- file.write(content);
-
- setModified(false);
-
- return true;
- }
- return false;
-}
-
-bool HTMLFile::open(const QString &fileName)
-{
- QFile file(fileName);
-
- if(file.open(QFile::ReadOnly))
- {
- d->fileName = fileName;
-
- QString path = QFileInfo(fileName).absolutePath();
- d->editorWidget->setContent(file.readAll(), path);
- d->editor->setDisplayName(d->editorWidget->title());
-
- return true;
- }
- return false;
-}
-
-void HTMLFile::setFilename(const QString& filename)
-{
- d->fileName = filename;
-}
-
-QString HTMLFile::fileName() const
-{
- return d->fileName;
-}
-QString HTMLFile::defaultPath() const
-{
- return QString();
-}
-
-QString HTMLFile::suggestedFileName() const
-{
- return QString();
-}
-
-QString HTMLFile::fileFilter() const
-{
- return QString();
-}
-
-QString HTMLFile::fileExtension() const
-{
- return QString();
-}
-
-bool HTMLFile::isReadOnly() const
-{
- return false;
-}
-bool HTMLFile::isSaveAsAllowed() const
-{
- return true;
-}
-
-void HTMLFile::modified(ReloadBehavior* behavior)
-{
- Q_UNUSED(behavior);
-}
diff --git a/doc/pluginhowto/examples/htmleditor/htmlfile.h b/doc/pluginhowto/examples/htmleditor/htmlfile.h
deleted file mode 100644
index 3bab2f3ab6..0000000000
--- a/doc/pluginhowto/examples/htmleditor/htmlfile.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 HTMLFILE_H
-#define HTMLFILE_H
-#include "coreplugin/ifile.h"
-#include "htmleditorwidget.h"
-#include "htmleditor.h"
-
-struct HTMLFileData;
-class HTMLFile : public Core::IFile
-{
- Q_OBJECT
-
-public:
- HTMLFile(HTMLEditor* editor, HTMLEditorWidget* editorWidget);
- ~HTMLFile();
-
- void setModified(bool val=true);
- bool isModified() const ;
-
- bool save(const QString &filename);
- bool open(const QString &filename);
- void setFilename(const QString &filename);
- QString mimiType(void) const ;
- QString fileName() const;
- QString defaultPath() const ;
- QString mimeType() const;
- QString suggestedFileName() const;
- QString fileFilter() const;
- QString fileExtension() const;
- bool isReadOnly() const;
- bool isSaveAsAllowed() const;
- void modified(ReloadBehavior* behavior);
-
-protected slots:
- void modified() { setModified(true); }
-private:
- HTMLFileData* d;
-};
-#endif // HTMLFILE_H
diff --git a/doc/pluginhowto/examples/htmleditor/text-html-mimetype.xml b/doc/pluginhowto/examples/htmleditor/text-html-mimetype.xml
deleted file mode 100644
index 8e9f048bee..0000000000
--- a/doc/pluginhowto/examples/htmleditor/text-html-mimetype.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
- <mime-type type="text/html">
- <sub-class-of type="text/plain"/>
- <comment>HTML File</comment>
- <glob pattern="*.html"/>
- </mime-type>
-</mime-info> \ No newline at end of file
diff --git a/doc/pluginhowto/examples/loggermode/LoggerMode.pluginspec b/doc/pluginhowto/examples/loggermode/LoggerMode.pluginspec
deleted file mode 100644
index d9ace5e767..0000000000
--- a/doc/pluginhowto/examples/loggermode/LoggerMode.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="loggermode" version="0.0.1">
- <vendor>FoocompanyInc</vendor>
- <copyright></copyright>
- <license></license>
- <description>{{PLUGIN_DESCRIPTION}}</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/loggermode/loggermode.cpp b/doc/pluginhowto/examples/loggermode/loggermode.cpp
deleted file mode 100644
index 19f628f866..0000000000
--- a/doc/pluginhowto/examples/loggermode/loggermode.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "loggermode.h"
-#include "loggermodewidget.h"
-
-#include <extensionsystem/pluginmanager.h>
-#include <coreplugin/icore.h>
-#include <coreplugin/coreconstants.h>
-#include <utils/styledbar.h>
-#include <utils/iwelcomepage.h>
-#include <coreplugin/uniqueidmanager.h>
-#include <extensionsystem/pluginmanager.h>
-#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/session.h>
-#include <projectexplorer/project.h>
-
-#include <QtCore/QSettings>
-
-#include <QStackedWidget>
-#include <QLabel>
-#include <QComboBox>
-#include <QVBoxLayout>
-#include <QPushbutton>
-#include <QMessageBox>
-
-
-
-struct LoggerModeData
-{
- QWidget *m_widget;
- QLabel *currentProjectsLabel;
- QLabel *addProjectLabel;
- QComboBox *currentProjectsCombobox;
- QComboBox *addProjectComboBox;
- QPushButton *addToProjectButton;
- QStackedWidget *stackedWidget;
-};
-
-LoggerMode::LoggerMode()
-{
- d = new LoggerModeData;
- d->m_widget = new QWidget;
-
- d->currentProjectsLabel = new QLabel("Current projects :");
- d->currentProjectsLabel->setFixedWidth(90);
- d->currentProjectsCombobox = new QComboBox;
- d->currentProjectsCombobox->setSizePolicy(QSizePolicy::Preferred,
- QSizePolicy::Preferred);
-
- d->addProjectLabel = new QLabel("Add Project :");
- d->addProjectLabel->setAlignment(Qt::AlignRight);
- d->addProjectComboBox = new QComboBox;
- d->addProjectComboBox->setSizePolicy(QSizePolicy::Preferred,
- QSizePolicy::Preferred);
- d->addProjectComboBox->setEditable(true);
-
- d->addToProjectButton = new QPushButton(tr("Add Project"));
- d->addToProjectButton->setFixedWidth(80);
-
-
- QHBoxLayout *hLayout = new QHBoxLayout;
- hLayout->addWidget(d->currentProjectsLabel);
- hLayout->addWidget(d->currentProjectsCombobox);
- hLayout->addWidget(d->addProjectLabel);
- hLayout->addWidget(d->addProjectComboBox);
- hLayout->addWidget(d->addToProjectButton);
-
-
-
- d->stackedWidget = new QStackedWidget;
-
- QVBoxLayout* layout = new QVBoxLayout;
- layout->addLayout(hLayout);
- layout->addWidget(d->stackedWidget);
-
- d->m_widget->setLayout(layout);
-
- d->addProjectComboBox->addItem("Project 1");
- d->addProjectComboBox->addItem("Project 2");
- d->addProjectComboBox->addItem("Project 3");
-
- connect(d->addToProjectButton,SIGNAL(clicked()),
- this,SLOT(addItem()));
-
- connect(d->currentProjectsCombobox, SIGNAL(currentIndexChanged(int)),
- d->stackedWidget, SLOT(setCurrentIndex(int)));
-}
-
-
-LoggerMode::~LoggerMode()
-{
- delete d->m_widget;
- delete d;
-}
-
-void LoggerMode::addItem()
-{
- d->currentProjectsCombobox->addItem(d->addProjectComboBox->currentText());
- addNewStackWidgetPage(d->currentProjectsCombobox->itemText(0));
- d->addProjectComboBox->removeItem(d->addProjectComboBox->currentIndex());
-}
-
-QString LoggerMode::name() const
-{
- return tr("LoggerMode");
-}
-
-
-QIcon LoggerMode::icon() const
-{
- return QIcon(QLatin1String(":/core/images/logo/32/qtcreator.png"));
-}
-
-
-int LoggerMode::priority() const
-{
- return 0;
-}
-
-
-QWidget* LoggerMode::widget()
-{
- return d->m_widget;
-}
-
-
-const char* LoggerMode::uniqueModeName() const
-{
- return "LoggerMode" ;
-}
-
-QList<int> LoggerMode::context() const
-{
- return QList<int>();
-}
-
-void LoggerMode::addNewStackWidgetPage(const QString projectName)
-{
- d->stackedWidget->addWidget(new LoggerModeWidget(projectName));
-}
-
diff --git a/doc/pluginhowto/examples/loggermode/loggermode.h b/doc/pluginhowto/examples/loggermode/loggermode.h
deleted file mode 100644
index 2ca083fd95..0000000000
--- a/doc/pluginhowto/examples/loggermode/loggermode.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 LOGGERMODE_H
-#define LOGGERMODE_H
-
-#include <coreplugin/imode.h>
-#include <projectexplorer/project.h>
-class QWidget;
-
-struct LoggerModeData;
-class LoggerMode :public Core::IMode
-{
- Q_OBJECT
-
-public:
- LoggerMode();
- ~LoggerMode();
-
- // IMode
- QString name() const;
- QIcon icon() const;
- int priority() const;
- QWidget *widget();
- const char *uniqueModeName() const;
- QList<int> context() const;
- void activated();
- QString contextHelpId() const { return QLatin1String("Qt Creator"); }
-
-protected slots:
- void addNewStackWidgetPage(const QString projectName);
- void addItem();
-
-private:
- LoggerModeData *d;
-};
-
-#endif // NEWMODE_H
diff --git a/doc/pluginhowto/examples/loggermode/loggermodePlugin.cpp b/doc/pluginhowto/examples/loggermode/loggermodePlugin.cpp
deleted file mode 100644
index daa9ec112f..0000000000
--- a/doc/pluginhowto/examples/loggermode/loggermodePlugin.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "loggermodePlugin.h"
-
-#include "loggermode.h"
-
-#include <QtPlugin>
-#include <QStringList>
-
-LoggerModePlugin::LoggerModePlugin()
-{
-}
-
-LoggerModePlugin::~LoggerModePlugin()
-{
-}
-
-void LoggerModePlugin::extensionsInitialized()
-{
-}
-
-bool LoggerModePlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- loggerMode = new LoggerMode;
- addAutoReleasedObject(loggerMode);
-
- return true;
-}
-
-void LoggerModePlugin::shutdown()
-{
- // Do nothing
-}
-
-Q_EXPORT_PLUGIN(LoggerModePlugin)
diff --git a/doc/pluginhowto/examples/loggermode/loggermodePlugin.h b/doc/pluginhowto/examples/loggermode/loggermodePlugin.h
deleted file mode 100644
index 40c047598c..0000000000
--- a/doc/pluginhowto/examples/loggermode/loggermodePlugin.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 LOGGERMODE_PLUGIN_H
-#define LOGGERMODE_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class LoggerMode;
-class LoggerModePlugin : public ExtensionSystem::IPlugin
-{
-public:
- LoggerModePlugin();
- ~LoggerModePlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList & arguments, QString * errorString);
- void shutdown();
-private:
- LoggerMode *loggerMode;
-};
-
-#endif // NEWMODE_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/loggermode/loggermodePlugin.pro b/doc/pluginhowto/examples/loggermode/loggermodePlugin.pro
deleted file mode 100644
index f1db2afb8b..0000000000
--- a/doc/pluginhowto/examples/loggermode/loggermodePlugin.pro
+++ /dev/null
@@ -1,20 +0,0 @@
-QTC_SOURCE = C:/Work/QtCreator
-QTC_BUILD = C:/Work/QtCreator/build
-TEMPLATE = lib
-TARGET = loggermode
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-PROVIDER = FooCompanyInc
-
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = loggermodePlugin.h \
- loggermode.h \
- loggermodewidget.h
-SOURCES = loggermodePlugin.cpp \
- loggermode.cpp \
- loggermodewidget.cpp
-OTHER_FILES = LoggerMode.pluginspec
diff --git a/doc/pluginhowto/examples/loggermode/loggermodewidget.cpp b/doc/pluginhowto/examples/loggermode/loggermodewidget.cpp
deleted file mode 100644
index 980e28e05d..0000000000
--- a/doc/pluginhowto/examples/loggermode/loggermodewidget.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "loggermodewidget.h"
-#include<QTableWidget>
-#include <QFileDialog>
-#include<QLabel>
-#include<QGroupBox>
-#include<QComboBox>
-#include<QPushButton>
-#include<QLineEdit>
-#include<QTime>
-#include<QTimer>
-#include<QTextEdit>
-#include<QCalendarWidget>
-#include<QComboBox>
-#include<QGridLayout>
-#include<QMessageBox>
-#include<QApplication>
-#include<QTextStream>
-#include<QCloseEvent>
-
-struct LoggerModeWidgetData
-{
- QLabel *progressLabel;
- QLabel *hoursWorkedLabel;
- QLabel *dateLabel;
- QLabel *descriptionLabel;
- QCalendarWidget *calendar;
- QComboBox *progressComboBox;
- QLineEdit *hoursWorkedLineEdit;
- QPushButton *startTimerButton;
- QPushButton *stopTimerButton;
- QPushButton *saveButton;
- QTimer *timer;
- QTextEdit *textEdit;
- QString projectName;
- int totalTime;
-};
-
-LoggerModeWidget::LoggerModeWidget(const QString projectName, QWidget* parent)
- :QWidget(parent)
-{
- d = new LoggerModeWidgetData;
- d->projectName = projectName;
- d->totalTime = 0;
- /*
- // Catch hold of the plugin-manager
- ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
-
- // Look for the ProjectExplorerPlugin object
- ProjectExplorer::ProjectExplorerPlugin* projectExplorerPlugin
- = pm->getObject<ProjectExplorer::ProjectExplorerPlugin>();
-
- // Fetch a list of all open projects
- QList<ProjectExplorer::Project*> projects =projectExplorerPlugin->session()->projects();
- Q_FOREACH(ProjectExplorer::Project* project, projects)
- d->projectExplorerCombo->addItem( project->name());
- */
- QStringList percentList;
- percentList <<"10%" <<"20%" <<"30%" <<"40%" <<"50%"
- <<"60%" <<"70%" <<"80%" <<"90%" <<"100%" ;
- d->progressLabel = new QLabel("Progress:");
- d->hoursWorkedLabel = new QLabel("Hours Worked:");
- d->dateLabel = new QLabel("Date:");
- d->descriptionLabel = new QLabel("Description :");
- d->hoursWorkedLineEdit = new QLineEdit;
- d->hoursWorkedLineEdit->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
- d->progressComboBox = new QComboBox;
- d->progressComboBox->addItems(percentList);
- d->progressComboBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
- d->startTimerButton = new QPushButton(tr("Start Timer"));
- d->startTimerButton->setFixedWidth(80);
- d->stopTimerButton = new QPushButton(tr("Pause Timer"));
- d->stopTimerButton->setFixedWidth(80);
- d->stopTimerButton->setCheckable(true);
- d->textEdit = new QTextEdit(this);
- d->textEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- d->calendar = new QCalendarWidget;
- d->saveButton = new QPushButton(tr("Save To File"));
- d->saveButton->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
-
- QGroupBox *timeLoggerBox = new QGroupBox(tr("Time Logger"));
-
- QGridLayout *gLayout = new QGridLayout;
- gLayout->addWidget(d->dateLabel, 0, 0, 1, 1);
- gLayout->addWidget(d->calendar, 1, 0, 1, 3);
- gLayout->addWidget(d->progressLabel, 2, 0, 1, 1);
- gLayout->addWidget(d->progressComboBox, 2, 1, 1, 1);
- gLayout->addWidget(d->hoursWorkedLabel, 3, 0, 1, 1);
- gLayout->addWidget(d->hoursWorkedLineEdit, 3, 1, 1, 1);
- gLayout->addWidget(d->startTimerButton, 4, 1, 1, 1);
- gLayout->addWidget(d->stopTimerButton, 4, 2, 1, 1);
- timeLoggerBox->setLayout(gLayout);
-
- d->timer = new QTimer(this);
- //d->time.setHMS(0,0,0);
-
- // connection of SIGNALS and SLOTS
-
- connect(d->timer, SIGNAL(timeout()), this, SLOT(updateTime()));
- connect(d->startTimerButton,SIGNAL(clicked()),this,SLOT(startTimeLog()));
- connect(d->stopTimerButton,SIGNAL(clicked()),this,SLOT(endTimeLog()));
- connect(d->saveButton, SIGNAL(clicked()), this, SLOT(saveToFile()));
-
-
- QVBoxLayout *vLayout = new QVBoxLayout;
- vLayout->addWidget(d->descriptionLabel);
- vLayout->addWidget(d->textEdit);
-
- QHBoxLayout * hLayout = new QHBoxLayout;
- hLayout->addWidget(timeLoggerBox);
- hLayout->addLayout(vLayout);
-
- QHBoxLayout *bLayout = new QHBoxLayout;
- bLayout->addStretch(1);
- bLayout->addWidget(d->saveButton);
-
- QVBoxLayout *mainLayout = new QVBoxLayout(this);
- mainLayout->addLayout(hLayout);
- mainLayout->addLayout(bLayout);
- mainLayout->addStretch(1);
-
-}
-
-LoggerModeWidget::~LoggerModeWidget()
-{
- delete d;
-}
-
-bool LoggerModeWidget::saveToFile()
-{
- QString fileName = QFileDialog::getSaveFileName(this);
- if (fileName.isEmpty())
- return false;
-
- QFile file(fileName);
- if (!file.open(QFile::WriteOnly | QFile::Text)) {
- QMessageBox::critical(this, tr("Application"),
- tr("Unable to open file %1 for writing :\n%2.")
- .arg(fileName)
- .arg(file.errorString()));
- return false;
- }
-
- QTextStream out(&file);
-
-#ifndef QT_NO_CURSOR
- QApplication::setOverrideCursor(Qt::WaitCursor);
-#endif
- out << "Project name : " << d->projectName << "\n";
- out << "Date : " << d->calendar->selectedDate().toString() << "\n";
- out << "Progress : " << d->progressComboBox->currentText() << "\n";
- out << "Duration : " << d->hoursWorkedLineEdit->text() << "\n\n";
- out << "Description : " << d->textEdit->toPlainText();
-#ifndef QT_NO_CURSOR
- QApplication::restoreOverrideCursor();
-#endif
-
- return true;
-}
-
-void LoggerModeWidget::startTimeLog()
-{
- d->totalTime = 0;
- d->timer->start(1000);
-}
-
-void LoggerModeWidget::endTimeLog()
-{
- if(d->stopTimerButton->isChecked())
- {
- d->stopTimerButton->setText("Continue Timer");
- d->timer->stop();
- }
- else
- {
- d->stopTimerButton->setText("Pause Timer");
- d->timer->start(1000);
- }
-}
-
-void LoggerModeWidget::updateTime()
-{
- d->totalTime++;
- QTime time(0,0,0);
- time = time.addSecs(d->totalTime);
- d->hoursWorkedLineEdit->setText(time.toString());
-}
-/*
-void LoggerModeWidget::setProjectName(QString name)
-{
- d->projectName = name;
-}
-*/
diff --git a/doc/pluginhowto/examples/loggermode/loggermodewidget.h b/doc/pluginhowto/examples/loggermode/loggermodewidget.h
deleted file mode 100644
index d05b2c9f96..0000000000
--- a/doc/pluginhowto/examples/loggermode/loggermodewidget.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 LOGGERMODEWIDGET_H
-#define LOGGERMODEWIDGET_H
-
-#include <QWidget>
-
-struct LoggerModeWidgetData;
-class LoggerModeWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- explicit LoggerModeWidget(const QString projectName, QWidget* parent = 0);
- ~LoggerModeWidget();
-
-public slots:
- //void setProjectName(QString name);
-
-protected slots:
- bool saveToFile();
- void startTimeLog();
- void endTimeLog();
- void updateTime();
-
-private:
- LoggerModeWidgetData* d;
-};
-
-#endif // NEWMODEWIDGET_H
diff --git a/doc/pluginhowto/examples/menu/addingmenu/DoNothing.pluginspec b/doc/pluginhowto/examples/menu/addingmenu/DoNothing.pluginspec
deleted file mode 100644
index 35e922e5af..0000000000
--- a/doc/pluginhowto/examples/menu/addingmenu/DoNothing.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="DoNothing" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright>FooCompanyInc</copyright>
- <license></license>
- <description>DO NOTHING</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/menu/addingmenu/addingmenu.pro b/doc/pluginhowto/examples/menu/addingmenu/addingmenu.pro
deleted file mode 100644
index e290291cd2..0000000000
--- a/doc/pluginhowto/examples/menu/addingmenu/addingmenu.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = lib
-TARGET = DoNothing
-
-isEmpty(QTC_SOURCE):IDE_SOURCE_TREE=$$PWD/../../../../../
-else:IDE_SOURCE_TREE=$$(QTC_SOURCE)
-
-isEmpty(QTC_BUILD):IDE_BUILD_TREE=$$OUT_PWD/../../../../../
-else:IDE_BUILD_TREE=$$(QTC_BUILD)
-
-PROVIDER = FooCompanyInc
-
-include($$IDE_SOURCE_TREE/src/qtcreatorplugin.pri)
-include($$IDE_SOURCE_TREE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = donothingplugin.h
-SOURCES = donothingplugin.cpp
-OTHER_FILES = DoNothing.pluginspec
-
-
diff --git a/doc/pluginhowto/examples/menu/addingmenu/donothingplugin.cpp b/doc/pluginhowto/examples/menu/addingmenu/donothingplugin.cpp
deleted file mode 100644
index cb39532672..0000000000
--- a/doc/pluginhowto/examples/menu/addingmenu/donothingplugin.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "donothingplugin.h"
-
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/actionmanager/command.h>
-#include <coreplugin/actionmanager/actioncontainer.h>
-#include <coreplugin/icore.h>
-#include <coreplugin/icontext.h>
-
-#include <QAction>
-#include <QKeySequence>
-#include <QMenu>
-#include <QMessageBox>
-#include <QStringList>
-#include <QtPlugin>
-
-DoNothingPlugin::DoNothingPlugin()
-{
- // Do nothing
-}
-
-void DoNothingPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool DoNothingPlugin::initialize(const QStringList &args, QString *errorMessage)
-{
- Q_UNUSED(args);
- Q_UNUSED(errorMessage);
-
- // Fetch the action manager
- Core::ActionManager *am = Core::ICore::instance()->actionManager();
-
- // Create a DoNothing menu
- Core::ActionContainer *ac = am->createMenu("DoNothingPlugin.DoNothingMenu");
- ac->menu()->setTitle("DoNothing");
-
- // Create a command for "DoNothing".
- QAction *action = new QAction(tr("DoNothing"),this);
- Core::Command *cmd = am->registerAction(action,
- "DoNothingPlugin.DoNothing", Core::Context(Core::Constants::C_GLOBAL));
-
- // Add DoNothing menu to the menubar
- am->actionContainer(Core::Constants::M_TOOLS)
- ->addMenu(ac, Core::Constants::G_DEFAULT_THREE);
-
- // Add the "DoNothing" action to the DoNothing menu
- ac->addAction(cmd);
-
- // Connect the action
- connect(action, SIGNAL(triggered(bool)), this, SLOT(performAction()));
- return true;
-}
-
-ExtensionSystem::IPlugin::ShutdownFlag DoNothingPlugin::shutdown()
-{
- return SynchronousShutdown;
-}
-
-void DoNothingPlugin::performAction()
-{
- QMessageBox::information(0, tr("DoNothing Plugin"),
- tr("Seriously dude, this plugin does nothing"));
-}
-
-Q_EXPORT_PLUGIN(DoNothingPlugin)
diff --git a/doc/pluginhowto/examples/menu/addingmenu/donothingplugin.h b/doc/pluginhowto/examples/menu/addingmenu/donothingplugin.h
deleted file mode 100644
index 7b45190949..0000000000
--- a/doc/pluginhowto/examples/menu/addingmenu/donothingplugin.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 DONOTHING_PLUGIN_H
-#define DONOTHING_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class DoNothingPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-public:
- DoNothingPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList &arguments, QString *errorString);
- ShutdownFlag shutdown();
-
-private slots:
- void performAction();
-};
-
-#endif // DONOTHING_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/menu/menu.pro b/doc/pluginhowto/examples/menu/menu.pro
deleted file mode 100644
index 40e6e31a30..0000000000
--- a/doc/pluginhowto/examples/menu/menu.pro
+++ /dev/null
@@ -1,8 +0,0 @@
-TEMPLATE = subdirs
-
-CONFIG += ordered
-
-SUBDIRS = registeringmenuitem \
- placingmenu \
- respondingtomenuitems \
- addingmenu
diff --git a/doc/pluginhowto/examples/menu/placingmenu/DoNothing.pluginspec b/doc/pluginhowto/examples/menu/placingmenu/DoNothing.pluginspec
deleted file mode 100644
index 35e922e5af..0000000000
--- a/doc/pluginhowto/examples/menu/placingmenu/DoNothing.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="DoNothing" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright>FooCompanyInc</copyright>
- <license></license>
- <description>DO NOTHING</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/menu/placingmenu/donothingplugin.cpp b/doc/pluginhowto/examples/menu/placingmenu/donothingplugin.cpp
deleted file mode 100644
index 6b51edd57d..0000000000
--- a/doc/pluginhowto/examples/menu/placingmenu/donothingplugin.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "donothingplugin.h"
-
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/actionmanager/command.h>
-#include <coreplugin/actionmanager/actioncontainer.h>
-#include <coreplugin/icore.h>
-#include <coreplugin/icontext.h>
-
-#include <QAction>
-#include <QKeySequence>
-#include <QMenu>
-#include <QMessageBox>
-#include <QStringList>
-#include <QtPlugin>
-
-DoNothingPlugin::DoNothingPlugin()
-{
- // Do nothing
-}
-
-void DoNothingPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool DoNothingPlugin::initialize(const QStringList &args, QString *errorMessage)
-{
- Q_UNUSED(args);
- Q_UNUSED(errorMessage);
-
- // Fetch the action manager
- Core::ActionManager *am = Core::ICore::instance()->actionManager();
-
- // Create a command for "DoNothing".
- QAction *action = new QAction(tr("DoNothing"),this);
- Core::Command *cmd = am->registerAction(action,
- "DoNothingPlugin.DoNothing", Core::Context(Core::Constants::C_GLOBAL));
-
- // Add the "DoNothing" action to the tools menu
- am->actionContainer(Core::Constants::M_TOOLS)->addAction(cmd, Core::Constants::G_DEFAULT_THREE);
-
- return true;
-}
-
-ExtensionSystem::IPlugin::ShutdownFlag DoNothingPlugin::shutdown()
-{
- return SynchronousShutdown;
-}
-
-Q_EXPORT_PLUGIN(DoNothingPlugin)
diff --git a/doc/pluginhowto/examples/menu/placingmenu/donothingplugin.h b/doc/pluginhowto/examples/menu/placingmenu/donothingplugin.h
deleted file mode 100644
index c3e023d076..0000000000
--- a/doc/pluginhowto/examples/menu/placingmenu/donothingplugin.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 DONOTHING_PLUGIN_H
-#define DONOTHING_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class DoNothingPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-public:
- DoNothingPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList &arguments, QString *errorString);
- ShutdownFlag shutdown();
-};
-
-#endif // DONOTHING_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/menu/placingmenu/placingmenu.pro b/doc/pluginhowto/examples/menu/placingmenu/placingmenu.pro
deleted file mode 100644
index e290291cd2..0000000000
--- a/doc/pluginhowto/examples/menu/placingmenu/placingmenu.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = lib
-TARGET = DoNothing
-
-isEmpty(QTC_SOURCE):IDE_SOURCE_TREE=$$PWD/../../../../../
-else:IDE_SOURCE_TREE=$$(QTC_SOURCE)
-
-isEmpty(QTC_BUILD):IDE_BUILD_TREE=$$OUT_PWD/../../../../../
-else:IDE_BUILD_TREE=$$(QTC_BUILD)
-
-PROVIDER = FooCompanyInc
-
-include($$IDE_SOURCE_TREE/src/qtcreatorplugin.pri)
-include($$IDE_SOURCE_TREE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = donothingplugin.h
-SOURCES = donothingplugin.cpp
-OTHER_FILES = DoNothing.pluginspec
-
-
diff --git a/doc/pluginhowto/examples/menu/registeringmenuitem/DoNothing.pluginspec b/doc/pluginhowto/examples/menu/registeringmenuitem/DoNothing.pluginspec
deleted file mode 100644
index 35e922e5af..0000000000
--- a/doc/pluginhowto/examples/menu/registeringmenuitem/DoNothing.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="DoNothing" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright>FooCompanyInc</copyright>
- <license></license>
- <description>DO NOTHING</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/menu/registeringmenuitem/donothingplugin.cpp b/doc/pluginhowto/examples/menu/registeringmenuitem/donothingplugin.cpp
deleted file mode 100644
index 6679a2ec84..0000000000
--- a/doc/pluginhowto/examples/menu/registeringmenuitem/donothingplugin.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "donothingplugin.h"
-
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/actionmanager/command.h>
-#include <coreplugin/actionmanager/actioncontainer.h>
-#include <coreplugin/icore.h>
-#include <coreplugin/icontext.h>
-
-#include <QAction>
-#include <QKeySequence>
-#include <QMenu>
-#include <QMessageBox>
-#include <QStringList>
-#include <QtPlugin>
-
-DoNothingPlugin::DoNothingPlugin()
-{
- // Do nothing
-}
-
-void DoNothingPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool DoNothingPlugin::initialize(const QStringList &args, QString *errorMessage)
-{
- Q_UNUSED(args);
- Q_UNUSED(errorMessage);
-
- // Fetch the action manager
- Core::ActionManager *am = Core::ICore::instance()->actionManager();
-
- // Create a command for "DoNothing".
- QAction *action = new QAction(tr("DoNothing"),this);
- Core::Command* cmd = am->registerAction(action,
- "DoNothingPlugin.DoNothing", Core::Context(Core::Constants::C_GLOBAL));
-
- // Add the "DoNothing" action to the tools menu
- am->actionContainer(Core::Constants::M_TOOLS)->addAction(cmd);
-
- return true;
-}
-
-ExtensionSystem::IPlugin::ShutdownFlag DoNothingPlugin::shutdown()
-{
- return SynchronousShutdown;
-}
-
-Q_EXPORT_PLUGIN(DoNothingPlugin)
diff --git a/doc/pluginhowto/examples/menu/registeringmenuitem/donothingplugin.h b/doc/pluginhowto/examples/menu/registeringmenuitem/donothingplugin.h
deleted file mode 100644
index c3e023d076..0000000000
--- a/doc/pluginhowto/examples/menu/registeringmenuitem/donothingplugin.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 DONOTHING_PLUGIN_H
-#define DONOTHING_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class DoNothingPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-public:
- DoNothingPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList &arguments, QString *errorString);
- ShutdownFlag shutdown();
-};
-
-#endif // DONOTHING_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/menu/registeringmenuitem/registeringmenuitem.pro b/doc/pluginhowto/examples/menu/registeringmenuitem/registeringmenuitem.pro
deleted file mode 100644
index e290291cd2..0000000000
--- a/doc/pluginhowto/examples/menu/registeringmenuitem/registeringmenuitem.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = lib
-TARGET = DoNothing
-
-isEmpty(QTC_SOURCE):IDE_SOURCE_TREE=$$PWD/../../../../../
-else:IDE_SOURCE_TREE=$$(QTC_SOURCE)
-
-isEmpty(QTC_BUILD):IDE_BUILD_TREE=$$OUT_PWD/../../../../../
-else:IDE_BUILD_TREE=$$(QTC_BUILD)
-
-PROVIDER = FooCompanyInc
-
-include($$IDE_SOURCE_TREE/src/qtcreatorplugin.pri)
-include($$IDE_SOURCE_TREE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = donothingplugin.h
-SOURCES = donothingplugin.cpp
-OTHER_FILES = DoNothing.pluginspec
-
-
diff --git a/doc/pluginhowto/examples/menu/respondingtomenuitems/DoNothing.pluginspec b/doc/pluginhowto/examples/menu/respondingtomenuitems/DoNothing.pluginspec
deleted file mode 100644
index 35e922e5af..0000000000
--- a/doc/pluginhowto/examples/menu/respondingtomenuitems/DoNothing.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="DoNothing" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright>FooCompanyInc</copyright>
- <license></license>
- <description>DO NOTHING</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/menu/respondingtomenuitems/donothingplugin.cpp b/doc/pluginhowto/examples/menu/respondingtomenuitems/donothingplugin.cpp
deleted file mode 100644
index fc0ba96107..0000000000
--- a/doc/pluginhowto/examples/menu/respondingtomenuitems/donothingplugin.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "donothingplugin.h"
-
-#include <coreplugin/actionmanager/actioncontainer.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/actionmanager/command.h>
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/icontext.h>
-#include <coreplugin/icore.h>
-
-#include <QAction>
-#include <QKeySequence>
-#include <QMenu>
-#include <QMessageBox>
-#include <QStringList>
-#include <QtPlugin>
-
-DoNothingPlugin::DoNothingPlugin()
-{
- // Do nothing
-}
-
-void DoNothingPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool DoNothingPlugin::initialize(const QStringList &args, QString *errorMessage)
-{
- Q_UNUSED(args);
- Q_UNUSED(errorMessage);
-
- // Fetch the action manager
- Core::ActionManager *am = Core::ICore::instance()->actionManager();
-
- // Create a command for "DoNothing".
- QAction *action = new QAction(tr("DoNothing"),this);
- Core::Command *cmd = am->registerAction(action,
- "DoNothingPlugin.DoNothing", Core::Context(Core::Constants::C_GLOBAL));
-
- // Add the "DoNothing" action to the tools menu
- am->actionContainer(Core::Constants::M_TOOLS)
- ->addAction(cmd, Core::Constants::G_DEFAULT_THREE);
-
- // Connect the action
- connect(action, SIGNAL(triggered(bool)), this, SLOT(performAction()));
- return true;
-}
-
-ExtensionSystem::IPlugin::ShutdownFlag DoNothingPlugin::shutdown()
-{
- return SynchronousShutdown;
-}
-
-void DoNothingPlugin::performAction()
-{
- QMessageBox::information(0, tr("DoNothing Plugin"),
- tr("Seriously dude, this plugin does nothing"));
-}
-
-Q_EXPORT_PLUGIN(DoNothingPlugin)
diff --git a/doc/pluginhowto/examples/menu/respondingtomenuitems/donothingplugin.h b/doc/pluginhowto/examples/menu/respondingtomenuitems/donothingplugin.h
deleted file mode 100644
index 7b45190949..0000000000
--- a/doc/pluginhowto/examples/menu/respondingtomenuitems/donothingplugin.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 DONOTHING_PLUGIN_H
-#define DONOTHING_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class DoNothingPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-public:
- DoNothingPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList &arguments, QString *errorString);
- ShutdownFlag shutdown();
-
-private slots:
- void performAction();
-};
-
-#endif // DONOTHING_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/menu/respondingtomenuitems/respondingtomenuitems.pro b/doc/pluginhowto/examples/menu/respondingtomenuitems/respondingtomenuitems.pro
deleted file mode 100644
index e290291cd2..0000000000
--- a/doc/pluginhowto/examples/menu/respondingtomenuitems/respondingtomenuitems.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = lib
-TARGET = DoNothing
-
-isEmpty(QTC_SOURCE):IDE_SOURCE_TREE=$$PWD/../../../../../
-else:IDE_SOURCE_TREE=$$(QTC_SOURCE)
-
-isEmpty(QTC_BUILD):IDE_BUILD_TREE=$$OUT_PWD/../../../../../
-else:IDE_BUILD_TREE=$$(QTC_BUILD)
-
-PROVIDER = FooCompanyInc
-
-include($$IDE_SOURCE_TREE/src/qtcreatorplugin.pri)
-include($$IDE_SOURCE_TREE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = donothingplugin.h
-SOURCES = donothingplugin.cpp
-OTHER_FILES = DoNothing.pluginspec
-
-
diff --git a/doc/pluginhowto/examples/preferencepane/PreferencePane.pluginspec b/doc/pluginhowto/examples/preferencepane/PreferencePane.pluginspec
deleted file mode 100644
index 8af1e9c586..0000000000
--- a/doc/pluginhowto/examples/preferencepane/PreferencePane.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="PreferencePane" version="0.0.1">
- <vendor>FooCompanyInc Pvt. Ltd</vendor>
- <copyright>(C) 2009-2011 FooCompanyInc Pvt. Ltd.</copyright>
- <license></license>
- <description>{{PLUGIN_DESCRIPTION}}</description>
- <url>http://www.FooCompany.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/preferencepane/modifiedfilelister.cpp b/doc/pluginhowto/examples/preferencepane/modifiedfilelister.cpp
deleted file mode 100644
index 542fb6d0ef..0000000000
--- a/doc/pluginhowto/examples/preferencepane/modifiedfilelister.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "modifiedfilelister.h"
-#include "modifiedfilelistwidget.h"
-
-ModifiedFileLister::ModifiedFileLister(QObject *parent): IOptionsPage(parent)
-{
-
-}
-
-ModifiedFileLister::~ModifiedFileLister()
-{
-
-}
-
-QString ModifiedFileLister::id() const
-{
- return "ModifiedFiles";
-}
-
-QString ModifiedFileLister::trName() const
-{
- return tr("Modified Files");
-}
-
-QString ModifiedFileLister::category() const
-{
- return "Help";
-}
-
-QString ModifiedFileLister::trCategory() const
-{
- return tr("Help");
-}
-
-QWidget *ModifiedFileLister::createPage(QWidget *parent)
-{
- return new ModifiedFileListWidget(parent);
-}
-
-void ModifiedFileLister::apply()
-{
- // Do nothing
-}
-
-void ModifiedFileLister::finish()
-{
- // Do nothing
-}
diff --git a/doc/pluginhowto/examples/preferencepane/modifiedfilelister.h b/doc/pluginhowto/examples/preferencepane/modifiedfilelister.h
deleted file mode 100644
index 39635cf8ac..0000000000
--- a/doc/pluginhowto/examples/preferencepane/modifiedfilelister.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 MODIFIEDFILELISTER_H
-#define MODIFIEDFILELISTER_H
-
-#include <coreplugin/dialogs/ioptionspage.h>
-class ModifiedFileLister : public Core::IOptionsPage
-{
- Q_OBJECT
-
-public:
- ModifiedFileLister(QObject *parent = 0);
- ~ModifiedFileLister();
- // IOptionsPage implementation
- QString id() const;
- QString trName() const;
- QString category() const;
- QString trCategory() const;
- QWidget *createPage(QWidget *parent);
- void apply();
- void finish();
-};
-#endif // MODIFIEDFILELISTER_H
diff --git a/doc/pluginhowto/examples/preferencepane/modifiedfilelistwidget.cpp b/doc/pluginhowto/examples/preferencepane/modifiedfilelistwidget.cpp
deleted file mode 100644
index 65d6864c3a..0000000000
--- a/doc/pluginhowto/examples/preferencepane/modifiedfilelistwidget.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "modifiedfilelistwidget.h"
-
-#include <coreplugin/filemanager.h>
-#include <coreplugin/icore.h>
-#include <coreplugin/ifile.h>
-
-ModifiedFileListWidget::ModifiedFileListWidget(QWidget* parent):QListWidget(parent)
-{
- // Show the list of modified pages
- Core::FileManager* fm = Core::ICore::instance()->fileManager();
- QList<Core::IFile*> files = fm->modifiedFiles();
-
- for(int i=0; i<files.count();i++)
- this->addItem(files.at(i)->fileName());
-}
-
-ModifiedFileListWidget::~ModifiedFileListWidget()
-{
- //Do Nothing
-}
diff --git a/doc/pluginhowto/examples/preferencepane/modifiedfilelistwidget.h b/doc/pluginhowto/examples/preferencepane/modifiedfilelistwidget.h
deleted file mode 100644
index 71fe97ab10..0000000000
--- a/doc/pluginhowto/examples/preferencepane/modifiedfilelistwidget.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 MODIFIEDFILELISTWIDGET_H
-#define MODIFIEDFILELISTWIDGET_H
-
-#include <QListWidget>
-class ModifiedFileListWidget: public QListWidget
-{
- Q_OBJECT
-
-public:
- ModifiedFileListWidget(QWidget* parent=0);
- ~ModifiedFileListWidget();
-};
-
-#endif // MODIFIEDFILELISTWIDGET_H
diff --git a/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.cpp b/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.cpp
deleted file mode 100644
index c91b1db184..0000000000
--- a/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "preferencepaneplugin.h"
-#include "modifiedfilelister.h"
-
-#include <QtPlugin>
-#include <QStringList>
-
-PreferencePanePlugin::PreferencePanePlugin()
-{
- // Do nothing
-}
-
-PreferencePanePlugin::~PreferencePanePlugin()
-{
- // Do notning
-}
-
-void PreferencePanePlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool PreferencePanePlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- addAutoReleasedObject(new ModifiedFileLister);
- return true;
-}
-
-void PreferencePanePlugin::shutdown()
-{
- // Do nothing
-}
-
-Q_EXPORT_PLUGIN(PreferencePanePlugin)
diff --git a/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.h b/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.h
deleted file mode 100644
index 4c3bda0073..0000000000
--- a/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 PREFERENCEPANE_PLUGIN_H
-#define PREFERENCEPANE_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class PreferencePanePlugin : public ExtensionSystem::IPlugin
-{
-public:
- PreferencePanePlugin();
- ~PreferencePanePlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList & arguments, QString * errorString);
- void shutdown();
-};
-
-#endif // PREFERENCEPANE_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.pro b/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.pro
deleted file mode 100644
index 1fd34e184d..0000000000
--- a/doc/pluginhowto/examples/preferencepane/preferencepaneplugin.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-QTC_SOURCE = C:/Work/QtCreator
-QTC_BUILD = C:/Work/QtCreator/build
-TEMPLATE = lib
-TARGET = PreferencePane
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-
-PROVIDER = FooCompanyInc
-
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = preferencepaneplugin.h \
- modifiedfilelistwidget.h \
- modifiedfilelister.h
-SOURCES = preferencepaneplugin.cpp \
- modifiedfilelistwidget.cpp \
- modifiedfilelister.cpp
-OTHER_FILES = PreferencePane.pluginspec
diff --git a/doc/pluginhowto/examples/progressbar/ProgressBar.pluginspec b/doc/pluginhowto/examples/progressbar/ProgressBar.pluginspec
deleted file mode 100644
index 0e021e8efe..0000000000
--- a/doc/pluginhowto/examples/progressbar/ProgressBar.pluginspec
+++ /dev/null
@@ -1,11 +0,0 @@
-<plugin name="ProgressBar" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright></copyright>
- <license></license>
- <description>{{PLUGIN_DESCRIPTION}}</description>
- <url>http://www.foocompany.com</url>
- <dependencyList>
- <dependency name="Core"/>
- <dependency name="Find"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/progressbar/headerfilteprogress.cpp b/doc/pluginhowto/examples/progressbar/headerfilteprogress.cpp
deleted file mode 100644
index e2dd623c98..0000000000
--- a/doc/pluginhowto/examples/progressbar/headerfilteprogress.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "headerfilterprogress.h"
-#include <coreplugin/progressmanager/progressmanager.h>
-#include <coreplugin/editormanager/editormanager.h>
-#include <projectexplorer/projectexplorer.h>
-#include <projectexplorer/iprojectmanager.h>
-#include <extensionsystem/pluginmanager.h>
-#include <texteditor/basetexteditor.h>
-#include <find/searchresultwindow.h>
-#include <projectexplorer/project.h>
-#include <projectexplorer/session.h>
-#include <find/textfindconstants.h>
-#include <utils/stylehelper.h>
-#include <utils/filesearch.h>
-#include <coreplugin/icore.h>
-#include <QtGui/QComboBox>
-#include <QtGui/QCheckBox>
-#include <QFutureWatcher>
-#include <QtGui/QStringListModel>
-#include <QtGui/QLabel>
-#include <QtGui/QFont>
-#include <QtGui/QMessageBox>
-#include <QtGui/QGridLayout>
-
-using namespace Core;
-using namespace Utils;
-using namespace TextEditor;
-
-
-struct HeaderFilterProgressData
- {
- HeaderFilterProgressData() : projectPlugin(0), m_searchResultWindow(0){}
- QFutureWatcher<FileSearchResult> watcher;
- QLabel* resultLabel;
-
-
- ProjectExplorer::ProjectExplorerPlugin* projectExplorer()
- {
- if(projectPlugin)
- return projectPlugin;
-
- ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
- projectPlugin = pm->getObject<ProjectExplorer::ProjectExplorerPlugin>();
- return projectPlugin;
- }
-
- // Method to search and return the search window
-
- Find::SearchResultWindow* searchResultWindow()
- {
- if(m_searchResultWindow)
- return m_searchResultWindow;
-
- ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
- m_searchResultWindow = pm->getObject<Find::SearchResultWindow>();
- return m_searchResultWindow;
- }
-
-
- private:
- ProjectExplorer::ProjectExplorerPlugin* projectPlugin;
- Find::SearchResultWindow* m_searchResultWindow;
-
-};
-
-HeaderFilterProgress::HeaderFilterProgress()
-{
- d = new HeaderFilterProgressData;
- d->watcher.setPendingResultsLimit(1);
- d->resultLabel = 0 ;
-
-
- // displayResult(int) is called when every a new
- // search result is generated
- connect(&d->watcher, SIGNAL(resultReadyAt(int)),this, SLOT(displayResult(int)));
-}
-
-HeaderFilterProgress::~HeaderFilterProgress()
-{
- delete d;
-}
-
-QString HeaderFilterProgress::id() const
-{
- return "HeaderFilter";
-}
-
-QString HeaderFilterProgress::name() const
-{
- return tr("Header Filter");
-}
-
-bool HeaderFilterProgress::isEnabled() const
-{
- QList<ProjectExplorer::Project*> projects = d->projectExplorer()->session()->projects();
- if(projects.count())
- return true;
-
- return false;
-}
-
-QKeySequence HeaderFilterProgress::defaultShortcut() const
-{
- return QKeySequence();
-}
-
-
-
-void HeaderFilterProgress::findAll(const QString &text,QTextDocument::FindFlags findFlags)
- {
-
- // Fetch a list of all open projects
- QList<ProjectExplorer::Project*> projects = d->projectExplorer()->session()->projects();
-
- // Make a list of files in each project
- QStringList files;
- Q_FOREACH(ProjectExplorer::Project* project, projects)
- files += project->files(ProjectExplorer::Project::AllFiles);
-
- // Remove duplicates
- files.removeDuplicates();
-
- //------------------------------------------------------------
- // Begin searching
- QString includeline = "#include <" + text + '>';
- Find::SearchResult* result = d->searchResultWindow()->startNewSearch();
-
- d->watcher.setFuture(QFuture<FileSearchResult>());
-
- //When result gets activated it invokes the openEditor function
- connect(result, SIGNAL(activated(Find::SearchResultItem)),
- this, SLOT(openEditor(Find::SearchResultItem)));
-
- d->searchResultWindow()->popup(true);
-
- // Let the watcher monitor the search results
- d->watcher.setFuture(Utils::findInFiles(includeline, files, findFlags));
-
- //Creates the Progres bar
- Core::FutureProgress* progress =
- Core::ICore::instance()->progressManager()->addTask(d->watcher.future(),
- "MySearch",
- Find::Constants::TASK_SEARCH,
- Core::ProgressManager::KeepOnFinish
- );
- progress->setWidget(createProgressWidget());
- connect(progress, SIGNAL(clicked()), d->searchResultWindow(), SLOT(popup()));
-}
-
-
-QWidget *HeaderFilterProgress::createProgressWidget()
-{
- d->resultLabel = new QLabel;
- d->resultLabel->setAlignment(Qt::AlignCenter);
- QFont f = d->resultLabel->font();
- f.setBold(true);
- f.setPointSizeF(StyleHelper::sidebarFontSize());
- d->resultLabel->setFont(f);
- d->resultLabel->setPalette(StyleHelper::sidebarFontPalette(d->resultLabel->palette()));
- d->resultLabel->setText(tr("%1 found").arg(d->searchResultWindow()->numberOfResults()));
- return d->resultLabel;
-}
-
-QWidget *HeaderFilterProgress::createConfigWidget()
-{
- return (new QLabel("This is a header filter"));
-}
-
-void HeaderFilterProgress::displayResult(int index)
-{
- FileSearchResult result = d->watcher.future().resultAt(index);
-
- d->searchResultWindow()->addResult(result.fileName,
- result.lineNumber,
- result.matchingLine,
- result.matchStart,
- result.matchLength);
- if (d->resultLabel)
- d->resultLabel->setText(tr("%1 found").arg(d->searchResultWindow()->numberOfResults()));
-}
-
-
-
-void HeaderFilterProgress::openEditor(const Find::SearchResultItem &item)
-{
- TextEditor::BaseTextEditor::openEditorAt(item.fileName, item.lineNumber, item.index);
-}
-
-
diff --git a/doc/pluginhowto/examples/progressbar/headerfilterprogress.h b/doc/pluginhowto/examples/progressbar/headerfilterprogress.h
deleted file mode 100644
index ee73995ac7..0000000000
--- a/doc/pluginhowto/examples/progressbar/headerfilterprogress.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 HEADERFILTERPROGRESS_H
-#define HEADERFILTERPROGRESS_H
-
-
-#include <find/ifindfilter.h>
-#include <utils/filesearch.h>
-#include <QtGui/QComboBox>
-
-namespace Find {
-class SearchResultWindow;
-struct SearchResultItem;
-}
-
-class QKeySequence;
-class QWidget;
-
-
-
-struct HeaderFilterProgressData;
-class HeaderFilterProgress : public Find::IFindFilter
-{
- Q_OBJECT
-
-public:
- HeaderFilterProgress();
- ~HeaderFilterProgress();
- QString id() const;
- QString name() const;
- bool isEnabled() const;
- QKeySequence defaultShortcut() const;
- void findAll(const QString &txt,QTextDocument::FindFlags findFlags);
- QWidget* createConfigWidget();
- QWidget* createProgressWidget();
-
-protected slots:
- void displayResult(int index);
- void openEditor(const Find::SearchResultItem &item);
-
-private:
- HeaderFilterProgressData* d;
-
-};
-
-
-#endif // HEADERFILTERPROGRESS_H
diff --git a/doc/pluginhowto/examples/progressbar/progressbar.pro b/doc/pluginhowto/examples/progressbar/progressbar.pro
deleted file mode 100644
index 952f41036c..0000000000
--- a/doc/pluginhowto/examples/progressbar/progressbar.pro
+++ /dev/null
@@ -1,28 +0,0 @@
-QTC_SOURCE = C:/Work/QtCreator
-QTC_BUILD = C:/Work/QtCreator/build
-DEFINES += FIND_LIBRARY
-
-TEMPLATE = lib
-TARGET = ProgressBar
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-
-PROVIDER = FooCompanyInc
-
-
-include($$QTC_SOURCE/src/libs/extensionsystem/extensionsystem.pri)
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-include($$QTC_SOURCE/src/libs/utils/utils.pri)
-include($$QTC_SOURCE/src/plugins/projectexplorer/projectexplorer.pri)
-include($$QTC_SOURCE/src/plugins/find/find.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = progressbarplugin.h \
- headerfilterprogress.h
-SOURCES = progressbarplugin.cpp \
- headerfilteprogress.cpp
-
-OTHER_FILES = ProgressBar.pluginspec
-
diff --git a/doc/pluginhowto/examples/progressbar/progressbarplugin.cpp b/doc/pluginhowto/examples/progressbar/progressbarplugin.cpp
deleted file mode 100644
index 8986845f17..0000000000
--- a/doc/pluginhowto/examples/progressbar/progressbarplugin.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "progressbarplugin.h"
-#include "headerfilterprogress.h"
-
-#include <QtPlugin>
-#include <QStringList>
-
-ProgressBarPlugin::ProgressBarPlugin()
-{
- // Do nothing
-}
-
-ProgressBarPlugin::~ProgressBarPlugin()
-{
- // Do notning
-}
-
-void ProgressBarPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool ProgressBarPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- addAutoReleasedObject( new HeaderFilterProgress);
- return true;
-}
-
-void ProgressBarPlugin::shutdown()
-{
- // Do nothing
-}
-
-Q_EXPORT_PLUGIN(ProgressBarPlugin)
diff --git a/doc/pluginhowto/examples/progressbar/progressbarplugin.h b/doc/pluginhowto/examples/progressbar/progressbarplugin.h
deleted file mode 100644
index 91f9990092..0000000000
--- a/doc/pluginhowto/examples/progressbar/progressbarplugin.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 PROGRESSBAR_PLUGIN_H
-#define PROGRESSBAR_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class ProgressBarPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-public:
- ProgressBarPlugin();
- ~ProgressBarPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList & arguments, QString* errorString);
- void shutdown();
-};
-
-#endif // PROGRESSBAR_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/wizard/customproject/CustomProject.pluginspec b/doc/pluginhowto/examples/wizard/customproject/CustomProject.pluginspec
deleted file mode 100644
index 755f91acd7..0000000000
--- a/doc/pluginhowto/examples/wizard/customproject/CustomProject.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="CustomProject" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright></copyright>
- <license></license>
- <description>{{PLUGIN_DESCRIPTION}}</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.cpp b/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.cpp
deleted file mode 100644
index 75f8ffedca..0000000000
--- a/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "customprojectplugin.h"
-#include "customprojectwizard.h"
-
-#include <QtPlugin>
-#include <QStringList>
-
-CustomProjectPlugin::CustomProjectPlugin()
-{
- // Do nothing
-}
-
-void CustomProjectPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool CustomProjectPlugin::initialize(const QStringList &args, QString *errorMessage)
-{
- Q_UNUSED(args);
- Q_UNUSED(errorMessage);
-
- addAutoReleasedObject(new CustomProjectWizard);
-
- return true;
-}
-
-void CustomProjectPlugin::shutdown()
-{
- // Do nothing
-}
-
-Q_EXPORT_PLUGIN(CustomProjectPlugin)
diff --git a/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.h b/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.h
deleted file mode 100644
index 8defce3606..0000000000
--- a/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 CUSTOMPROJECT_PLUGIN_H
-#define CUSTOMPROJECT_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class CustomProjectPlugin : public ExtensionSystem::IPlugin
-{
-public:
- CustomProjectPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList &arguments, QString *errorString);
- void shutdown();
-};
-
-#endif // CUSTOMPROJECT_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.pro b/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.pro
deleted file mode 100644
index 07a5239be4..0000000000
--- a/doc/pluginhowto/examples/wizard/customproject/customprojectplugin.pro
+++ /dev/null
@@ -1,20 +0,0 @@
-#QTC_SOURCE = C:/Work/QtCreator
-#QTC_BUILD = C:/Work/QtCreator/build
-QTC_SOURCE = ../../../../..
-QTC_BUILD = ../../../../..
-TEMPLATE = lib
-TARGET = CustomProject
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-PROVIDER = FooCompanyInc
-
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = customprojectplugin.h \
- customprojectwizard.h
-SOURCES = customprojectplugin.cpp \
- customprojectwizard.cpp
-OTHER_FILES = CustomProject.pluginspec
diff --git a/doc/pluginhowto/examples/wizard/customproject/customprojectwizard.cpp b/doc/pluginhowto/examples/wizard/customproject/customprojectwizard.cpp
deleted file mode 100644
index cbd4e1610b..0000000000
--- a/doc/pluginhowto/examples/wizard/customproject/customprojectwizard.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "customprojectwizard.h"
-
-#include <QMessageBox>
-#include <QApplication>
-#include <QIcon>
-
-CustomProjectWizard::CustomProjectWizard()
-{
-}
-
-Core::IWizard::Kind CustomProjectWizard::kind() const
-{
- return IWizard::ProjectWizard;
-}
-
-QIcon CustomProjectWizard::icon() const
-{
- return qApp->windowIcon();
-}
-
-QString CustomProjectWizard::description() const
-{
- return "A custom project";
-}
-
-QString CustomProjectWizard::displayName() const
-{
- return tr("CustomProject");
-}
-
-QString CustomProjectWizard::category() const
-{
- return "FooCompanyInc";
-}
-
-QString CustomProjectWizard::trCategory() const
-{
- return tr("FooCompanyInc");
-}
-
-void CustomProjectWizard::runWizard(const QString &path, QWidget *parent)
-{
- Q_UNUSED(path);
- Q_UNUSED(parent);
- QMessageBox::information(parent, "Custom Wizard Dialog", "Hi there!");
-}
diff --git a/doc/pluginhowto/examples/wizard/customproject/customprojectwizard.h b/doc/pluginhowto/examples/wizard/customproject/customprojectwizard.h
deleted file mode 100644
index 3d5864899b..0000000000
--- a/doc/pluginhowto/examples/wizard/customproject/customprojectwizard.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 CUSTOMPROJECTWIZARD_H
-#define CUSTOMPROJECTWIZARD_H
-
-#include <coreplugin/dialogs/iwizard.h>
-
-class CustomProjectWizard : public Core::IWizard
-{
-public:
- CustomProjectWizard();
-
- Core::IWizard::Kind kind() const;
- QIcon icon() const;
- QString description() const;
- QString displayName() const;
- QString category() const;
- QString trCategory() const;
- void runWizard(const QString &path, QWidget *parent);
-};
-
-#endif // CUSTOMPROJECTWIZARD_H
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelHeader.txt b/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelHeader.txt
deleted file mode 100644
index 3bca49049b..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelHeader.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef {{UPPER_CLASS_NAME}}_H
-#define {{UPPER_CLASS_NAME}}_H
-
-#include <{{BASE_CLASS_NAME}}>
-
-struct {{CLASS_NAME}}Data;
-
-class {{CLASS_NAME}} : public {{BASE_CLASS_NAME}}
-{
- Q_OBJECT
-
-public:
- {{CLASS_NAME}}(QObject* parent=0);
- ~{{CLASS_NAME}}();
- int rowCount(const QModelIndex& parent) const;
- QVariant data(const QModelIndex& index, int role) const;
-
-private:
- {{CLASS_NAME}}Data* d;
-};
-
-#endif // {{UPPER_CLASS_NAME}}_H
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelSource.txt b/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelSource.txt
deleted file mode 100644
index 3a5ba8abd4..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelSource.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <{{CLASS_HEADER}}>
-
-struct {{CLASS_NAME}}Data
-{
-};
-
-{{CLASS_NAME}}::{{CLASS_NAME}}(QObject* parent)
- :{{BASE_CLASS_NAME}}(parent)
-{
- d = {{CLASS_NAME}}Data;
-}
-
-{{CLASS_NAME}}::~{{CLASS_NAME}}()
-{
-}
-
-int {{CLASS_NAME}}::rowCount(const QModelIndex& parent) const
-{
-}
-
-QVariant {{CLASS_NAME}}::data(const QModelIndex& index, int role) const
-{
-}
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelWizard.pluginspec b/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelWizard.pluginspec
deleted file mode 100644
index 1ffcd88109..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/ItemModelWizard.pluginspec
+++ /dev/null
@@ -1,10 +0,0 @@
-<plugin name="ItemModelWizard" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright></copyright>
- <license></license>
- <description>{{PLUGIN_DESCRIPTION}}</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.cpp b/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.cpp
deleted file mode 100644
index 241980514b..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "itemmodelwizardplugin.h"
-#include "modelclasswizard.h"
-
-#include <QApplication>
-#include <QIcon>
-#include <QtPlugin>
-#include <QStringList>
-
-ItemModelWizardPlugin::ItemModelWizardPlugin()
-{
- // Do nothing
-}
-
-ItemModelWizardPlugin::~ItemModelWizardPlugin()
-{
- // Do notning
-}
-
-void ItemModelWizardPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-
-bool ItemModelWizardPlugin::initialize(const QStringList &args, QString *errorMessage)
-{
- Q_UNUSED(args);
- Q_UNUSED(errorMessage);
- Core::BaseFileWizardParameters params;
- params.setKind(Core::IWizard::ClassWizard);
- params.setIcon(qApp->windowIcon());
- params.setDescription("Generates an item-model class");
- params.setName("Item Model");
- params.setCategory("FooCompany");
- params.setTrCategory(tr("FooCompany"));
- addAutoReleasedObject(new ModelClassWizard(params, this));
- return true;
-
-}
-
-void ItemModelWizardPlugin::shutdown()
-{
- // Do nothing
-}
-
-Q_EXPORT_PLUGIN(ItemModelWizardPlugin)
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.h b/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.h
deleted file mode 100644
index fc8779b11d..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 ITEMMODELWIZARD_PLUGIN_H
-#define ITEMMODELWIZARD_PLUGIN_H
-
-#include <extensionsystem/iplugin.h>
-
-class ItemModelWizardPlugin : public ExtensionSystem::IPlugin
-{
-public:
- ItemModelWizardPlugin();
- ~ItemModelWizardPlugin();
-
- void extensionsInitialized();
- bool initialize(const QStringList &arguments, QString *errorString);
- void shutdown();
-};
-
-#endif // ITEMMODELWIZARD_PLUGIN_H
-
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.pro b/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.pro
deleted file mode 100644
index ce0bb00b15..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/itemmodelwizardplugin.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-#QTC_SOURCE = C:/Work/QtCreator
-#QTC_BUILD = C:/Work/QtCreator/build
-QTC_SOURCE = ../../../../..
-QTC_BUILD = ../../../../..
-TEMPLATE = lib
-TARGET = ItemModelWizard
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-PROVIDER = FooCompanyInc
-
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-include($$QTC_SOURCE/src/plugins/texteditor/texteditor.pri)
-include($$QTC_SOURCE/src/plugins/cppeditor/cppeditor.pri)
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-HEADERS = itemmodelwizardplugin.h \
- modelnamepage.h \
- modelclasswizard.h
-SOURCES = itemmodelwizardplugin.cpp \
- modelnamepage.cpp \
- modelclasswizard.cpp
-OTHER_FILES = ItemModelWizard.pluginspec
-FORMS += modelnamepage.ui
-
-RESOURCES += template.qrc
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelclasswizard.cpp b/doc/pluginhowto/examples/wizard/itemmodelwizard/modelclasswizard.cpp
deleted file mode 100644
index 16880d1724..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelclasswizard.cpp
+++ /dev/null
@@ -1,128 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "modelclasswizard.h"
-#include "modelnamepage.h"
-
-#include <cppeditor/cppeditor.h>
-#include <cppeditor/cppeditorconstants.h>
-#include <coreplugin/basefilewizard.h>
-
-#include <QFile>
-#include <QFileInfo>
-
-ModelClassWizard::ModelClassWizard(const Core::BaseFileWizardParameters &parameters, QObject *parent)
- : Core::BaseFileWizard(parameters, parent)
-{
-}
-
-QWizard *ModelClassWizard::createWizardDialog(QWidget *parent,
- const QString &defaultPath, const WizardPageList &extensionPages) const
-{
- // Create a wizard
- QWizard *wizard = new QWizard(parent);
- wizard->setWindowTitle(tr("Model Class Wizard"));
-
- // Make our page as first page
- ModelNamePage *page = new ModelNamePage(wizard);
- int pageId = wizard->addPage(page);
- wizard->setProperty("_PageId_", pageId);
- page->setPath(defaultPath);
-
- // Now add the remaining pages
- foreach (QWizardPage *p, extensionPages)
- wizard->addPage(p);
- return wizard;
-}
-
-QString ModelClassWizard::readFile(const QString& fileName,
- const QMap<QString,QString> & replacementMap) const
-{
- QFile file(fileName);
- file.open(QFile::ReadOnly);
- QString result = file.readAll();
- QMap<QString,QString>::const_iterator it = replacementMap.begin();
- QMap<QString,QString>::const_iterator end = replacementMap.end();
-
- for (; it != end; ++it)
- result.replace(it.key(), it.value());
- return result;
-}
-
-Core::GeneratedFiles ModelClassWizard::generateFiles
- (const QWizard *wizard, QString *errorMessage) const
-{
- Q_UNUSED(errorMessage);
- Core::GeneratedFiles ret;
- int pageId = wizard->property("_PageId_").toInt();
- ModelNamePage *page = qobject_cast<ModelNamePage*>(wizard->page(pageId));
-
- if (!page)
- return ret;
- ModelClassParameters params = page->parameters();
- QMap<QString,QString> replacementMap;
-
- replacementMap["{{UPPER_CLASS_NAME}}"] = params.className.toUpper();
- replacementMap["{{BASE_CLASS_NAME}}"] = params.baseClass;
- replacementMap["{{CLASS_NAME}}"] = params.className;
- replacementMap["{{CLASS_HEADER}}"] = QFileInfo(params.headerFile).fileName();
-
- Core::GeneratedFile headerFile(params.path + '/' + params.headerFile);
- headerFile.setEditorKind(CppEditor::Constants::CPPEDITOR_KIND);
-
- Core::GeneratedFile sourceFile(params.path + '/' + params.sourceFile);
- sourceFile.setEditorKind(CppEditor::Constants::CPPEDITOR_KIND);
-
- if (params.baseClass == "QAbstractItemModel") {
- headerFile.setContents(readFile(":/CustomProject/ItemModelHeader", replacementMap));
- sourceFile.setContents(readFile(":/CustomProject/ItemModelSource", replacementMap));
- }
-
- else if (params.baseClass == "QAbstractTableModel") {
- headerFile.setContents(readFile(":/CustomProject/TableModelHeader", replacementMap));
- sourceFile.setContents(readFile(":/CustomProject/TableModelSource", replacementMap));
- }
-
- else if (params.baseClass == "QAbstractListModel") {
- headerFile.setContents(readFile(":/CustomProject/ListModelHeader", replacementMap));
- sourceFile.setContents(readFile(":/CustomProject/ListModelSource", replacementMap));
- }
-
- ret << headerFile << sourceFile;
- return ret;
-}
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelclasswizard.h b/doc/pluginhowto/examples/wizard/itemmodelwizard/modelclasswizard.h
deleted file mode 100644
index ad4b279b9b..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelclasswizard.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 MODELCLASSWIZARD_H
-#define MODELCLASSWIZARD_H
-
-#include <coreplugin/basefilewizard.h>
-
-#include <QMap>
-
-class ModelClassWizard : public Core::BaseFileWizard
-{
- Q_OBJECT
-
-public:
- explicit ModelClassWizard(const Core::BaseFileWizardParameters &parameters, QObject *parent = 0);
-
- QWizard *createWizardDialog(QWidget *parent, const QString &defaultPath,
- const WizardPageList &extensionPages) const;
-
- Core::GeneratedFiles generateFiles(const QWizard *w, QString *errorMessage) const;
-
-private:
- QString readFile(const QString &fileName,
- const QMap<QString, QString> &replacementMap) const;
-};
-
-#endif // MODELCLASSWIZARD_H
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.cpp b/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.cpp
deleted file mode 100644
index 3cb051cf1a..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.cpp
+++ /dev/null
@@ -1,70 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-****************************************************************************/
-
-#include "modelnamepage.h"
-
-ModelNamePage::ModelNamePage(QWidget *parent)
- : QWizardPage(parent)
-{
- setTitle("Enter model class information");
- setSubTitle("The header and source file names will be derived from the class name");
- ui.setupUi(this);
-}
-
-void ModelNamePage::setPath(const QString &path)
-{
- this->path = path;
-}
-
-void ModelNamePage::on_txtModelClass_textEdited(const QString &text)
-{
- ui.txtHeaderFile->setText(text + ".h");
- ui.txtImplFile->setText(text + ".cpp");
-}
-
-ModelClassParameters ModelNamePage::parameters() const
-{
- ModelClassParameters params;
- params.className = ui.txtModelClass->text();
- params.headerFile = ui.txtHeaderFile->text();
-
- params.sourceFile = ui.txtImplFile->text();
- params.baseClass = ui.cmbBaseClass->currentText();
- params.path = path;
- return params;
-}
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.h b/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.h
deleted file mode 100644
index af49434830..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the documentation of Qt Creator.
-**
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (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 MODELNAMEPAGE_H
-#define MODELNAMEPAGE_H
-
-#include "ui_modelnamepage.h"
-
-#include <QWizardPage>
-
-struct ModelClassParameters
-{
- QString className;
- QString headerFile;
- QString sourceFile;
- QString baseClass;
- QString path;
-};
-
-class ModelNamePage : public QWizardPage
-{
- Q_OBJECT
-
-public:
- ModelNamePage(QWidget *parent = 0);
-
- void setPath(const QString &path);
- ModelClassParameters parameters() const;
-
-private slots:
- void on_txtModelClass_textEdited(const QString &text);
-
-private:
- Ui::ModelNamePage ui;
- QString path;
-};
-
-#endif // MODELNAMEPAGE_H
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.ui b/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.ui
deleted file mode 100644
index 848969c01c..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/modelnamepage.ui
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ModelNamePage</class>
- <widget class="QWidget" name="ModelNamePage">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>346</width>
- <height>257</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Model Class Name:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="txtModelClass"/>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Base Class Name:</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QComboBox" name="cmbBaseClass">
- <item>
- <property name="text">
- <string>QAbstractItemModel</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>QAbstractListModel</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>QAbstractTableModel</string>
- </property>
- </item>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Header:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="txtHeaderFile"/>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Implementation:</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLineEdit" name="txtImplFile"/>
- </item>
- <item row="4" column="1">
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>61</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/doc/pluginhowto/examples/wizard/itemmodelwizard/template.qrc b/doc/pluginhowto/examples/wizard/itemmodelwizard/template.qrc
deleted file mode 100644
index 343a5962c5..0000000000
--- a/doc/pluginhowto/examples/wizard/itemmodelwizard/template.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
- <qresource prefix="/CustomProject">
- <file alias="ItemModelSource">ItemModelSource.txt</file>
- <file alias="ItemModelHeader">ItemModelHeader.txt</file>
- </qresource>
-</RCC>
diff --git a/doc/pluginhowto/find-filter.qdoc b/doc/pluginhowto/find-filter.qdoc
deleted file mode 100644
index 907dd07f57..0000000000
--- a/doc/pluginhowto/find-filter.qdoc
+++ /dev/null
@@ -1,549 +0,0 @@
-/*!
- \page find-filter.html
- \title 9. Find Filter
-
- Qt Creator's find dialog box allows users to search for a text or regular expression in opened projects and unloaded disk
- files. Clicking on "Edit -> Find/Replace -> Find Dialog" shows the find dialog box.
-
- \inlineimage qtc-finddialog-9.png
-
-
- In the find dialog box the "scope" and "configuration widget" are extensible. It is possible to add more items to the
- scope combo box and against every item it is possible to provide a configuration widget that needs to be shown below.
- Each item in the "scope" combo box is called "find filter" in Qt Creator lingo.
-
- \section1 9.1 Find::IFindFilter interface
- The \underline {find} plugin in Qt Creator exposes an interface called Find::IFindFilter. The interface is declared as follows in
- the src/plugins/find/ifindfilter.h header.
-
- \code
- class FIND_EXPORT IFindFilter : public QObject
- {
- Q_OBJECT
-
- public:
- virtual ~IFindFilter() {}
- virtual QString id() const = 0;
- virtual QString name() const = 0;
- virtual bool isEnabled() const = 0;
- virtual QKeySequence defaultShortcut() const = 0;
- virtual void findAll(const QString &txt, QTextDocument::FindFlags findFlags) = 0;
- virtual QWidget *createConfigWidget() { return 0; }
- virtual void writeSettings(QSettings *settings) { Q_UNUSED(settings); }
- virtual void readSettings(QSettings *settings) { Q_UNUSED(settings); }
-
- signals:
- void changed();
- };
-
- \endcode
-
- By implementing the \bold {IFindFilter} interface and adding an instance of it to the object pool, we will be able to add a
- new find-filter; which means another entry in the "scope" combo box of the find dialog box.
-
- \section1 9.2 Providing a custom filter
-
- Suppose that we wanted to provide a custom filter that will allow us to look for files in the loaded projects that include a
- given header. In the following steps we will understand how to write a find filter for this.
-
- \section2 Step 1: Declaring the HeaderFilter class
-
- We first begin by declaring a class called HeaderFilter that implements the Find::IFindFilter interface. The class
- definition is as follows.
- \code
- #include <find/ifindfilter.h>
- class HeaderFilter : public Find::IFindFilter
- {
- Q_OBJECT
-
- public:
- HeaderFilter();
- ~HeaderFilter();
- QString id() const;
- QString name() const;
- bool isEnabled() const;
- QKeySequence defaultShortcut() const;
- void findAll(const QString &txt,
- QTextDocument::FindFlags findFlags);
- QWidget *createConfigWidget();
-
- private:
- HeaderFilterData *d;
- };
- \endcode
-
- \section2 Step 2: Implementing the HeaderFilter class
-
- The constructor and destructors are currently empty. We will fill in more code as we progress with our understanding of
- the \bold {IFindFilter} interface.
-
- \code
- struct HeaderFilterData
- {
-
- };
-
- HeaderFilter:: HeaderFilter()
- {
- d = new HeaderFilterData;
- }
-
- HeaderFilter::~ HeaderFilter()
- {
- delete d;
- }
-
- \endcode
- The \bold{id()} method should be implemented to return a unique identifier for the find filter.
-
-
- \code
- QString HeaderFilter::id() const
- {
- return "HeaderFilter";
- }
-
- \endcode
-
- The \bold {name()} method should be implemented to return the string that gets shown in the "scope" combo box of the find
- dialog box.
-
- \code
- QString HeaderFilter::name() const
- {
- return tr("Header Filter");
- }
- \endcode
-
- The \bold {isEnabled()} method should be implemented to return whether the find filter is enabled or not. In our case we
- would like to show the filter enabled if projects are loaded in Qt Creator, false otherwise. To fully understand the
- implementation of the function, we must first study the \bold {ProjectExplorer} namespace. For now let's just return true
- and revisit the function after learning about the \bold {ProjectExplorer} namespace.
-
- \code
- bool HeaderFilter::isEnabled() const
- {
- return true;
- }
- \endcode
-
- The \bold{defaultShortcut()} method should be implemented to return a key-sequence that the user can use to launch
- the find dialog box with the "header filter" selected in "cope". In our implementation we return an invalid keysequence.
-
- \code
- QKeySequence HeaderFilter::defaultShortcut() const
- {
- return QKeySequence();
- }
- \endcode
-
- The \bold {createConfigWidget()} method should be implemented to return a configuration widget that gets shown at
- the bottom edge of the find dialog box.
-
-
- \inlineimage qtc-configwidget-9.png
-
-
- For our header-filter; let's return a simple QLabel because we don't want to provide any configuration options.
-
- \code
- QWidget *HeaderFilter::createConfigWidget()
- {
- return (new QLabel("This is a header filter"));
- }
- \endcode
-
- The \bold{findAll()} method should be implemented to perform the actual "find" or "search" operation. We need to
- understand few key classes in the \bold {ProjectExplorer},\bold {TextEditor},\bold {Find }and \bold {Core::Utils} namespace before
- attempting to implement the filter. For now implement the method to do nothing.
-
- \code
- void HeaderFilter::findAll(const QString &text,QTextDocument::FindFlags findFlags)
- {
- // Do nothing
- }
- \endcode
-
-
- \section2 Step 3: Implementing the "header-filter" plugin.
-
- We implement the header-filter plugin very similar to the \bold {DoNothingPlugin} class described in Chapter 2. Here we
- only look at the implementation if the \bold {initialize()} method.
-
- \code
- bool HeaderFilterPlugin::initialize(const QStringList& args,QString *errMsg)
- {
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
- addAutoReleasedObject(new HeaderFilter);
- return true;
- }
- \endcode
-
- \section2 Step 4: Testing the plugin
- Upon compiling the plugin and restarting Qt Creator, we can notice the "Header Filter" item in the scope combo box of
- the find dialog box.
-
- \inlineimage qtc-testplugin-9.png
-
-
- Currently no "finding" or "searching" is done by our plugin because we have not yet implemented the
- \bold {HeaderFilter::findAll()} method.
-
- \section1 9.3 The ProjectExplorer namespace
-
- The \bold {ProjectExplorer} namespace comprises of classes and interfaces that make up the project management
- system in Qt Creator. This namespace is provided by the \bold {projectexplorer} plugin. Support for project types are provided
- by plugins. For example
-
- \list
- \o \bold {cmakeprojectmanager} plugin provides implementations of interfaces in \bold {ProjectExplorer} namespace for
- supporting CMake projects
- \o \bold {qt4projectmanager} plugin provides support for Qt 4 projects
- \o \bold {qmlprojectmanager} plugin provides support for QML projects
- \endlist
-
- \table
- \header
- \o Class/Interface
- \o Description
-
- \row
- \o \c {ProjectExplorer::IProjectManager}
- \o This interface must be implemented to provide support for a kind of
- project. Implementations of this interface help load projects into Qt
- Creator.
-
- \row
- \o \c {ProjectExplorer::Project}
- \o This interface describes a project in terms of
- \list
- \o A file (Core::IFile) that describes the project.
- \o A Boolean flag describing whether the project builds an
- application or library
- \o Build steps (ProjectExplorer:: BuildStep) that
- need to be performed in order to build and clean the project
- \o Run configurations that need to be used for running the
- project
- \o The environment within which the project needs to be run
- \o The root node in the project explorer panel
- \o Include paths and macros to be used while building the project
- \endlist
-
- \row
- \o \c {ProjectManager::}
- \o This class is the implementation of the Core::IPlugin interface for the
-
- \row
- \o \c {ProjectExplorerPlugin}
- \o project explorer plugin. Through this class we can
- \list
- \o gain access to all the open projects
- \o gain access the current project
- \o gain access to the currently selected node (file/folder) in the
- project explorer panel
- \o gain access to the build manager
- \bold {(ProjectManager::BuildManager)}
- \endlist
- \endtable
-
- \section2 9.3.1 Getting a list of open-projects
-
- Using the \bold {ProjectManager::ProjectExplorerPlugin} class we can catch hold of all the open-projects in Qt
- Creator. The following code snippet shows how to do that
-
- \code
- #include <extensionsystem/pluginmanager.h>
- #include <projectexplorer/projectexplorer.h>
-
- // Catch hold of the plugin-manager
- ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
-
- // Look for the ProjectExplorerPlugin object
- ProjectExplorer::ProjectExplorerPlugin* projectExplorerPlugin
- = pm->getObject<ProjectExplorer::ProjectExplorerPlugin>();
-
- // Fetch a list of all open projects
- QList<ProjectExplorer::Project*> projects = d->projectPlugin->session()->projects();
-
- \endcode
-
-
- From the projects list we can gain access to the project file and all the other (source, header, resource etc) files in the
- project. To gain access to the project file(s) we can
-
- \code
- Q_FOREACH(ProjectExplorer::Project* project, projects)
- {
- QString name = project->name();
- Core::IFile* projectFile = project->file();
- // Do something with the above. For example:
- qDebug("Project %s has project file as %s",
- qPrintable(name),
- qPrintable(projectFile->fileName()));
- }
- \endcode
-
-
- While the above code snippet helps with fetching the project file (CMakeLists.txt, .pro etc..), it doesn't help us fetch all
- the files associated with the project.
-
- \section2 9.3.2 Getting a list of files
-
- From the projects list we can get a string-list of all file names associated with the project using the following code
- snippet.
-
- \code
- // Make a list of files in each project
- QStringList files;
-
- Q_FOREACH(ProjectManager::Project* project, projects)
- files += project->files(Project::AllFiles);
- \endcode
-
- \section2 9.3.3 Enabling the HeaderFilter conditionally
-
- Ideally the header-filter should be enabled only if there is atleast one open project. To make this happen, we upgrade
- the HeaderFilter implementation as follows
-
- \code
- struct HeaderFilterData
- {
- ProjectExplorer::ProjectExplorerPlugin* projectExplorer()
- {
- if(m_projectPlugin)
- return m_projectPlugin;
-
- ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
- m_projectPlugin = pm->getObject<ProjectExplorer::ProjectExplorerPlugin>();
- return m_projectPlugin;
- }
-
- private:
- ProjectExplorer::ProjectExplorerPlugin* m_projectPlugin;
-
- };
-
- bool HeaderFilter::isEnabled() const
- {
- QList<ProjectExplorer::Project*> projects = d->projectExplorer()->session()->projects();
- if(projects.count())
- return true;
- return false;
- }
-
- \endcode
-
- \section1 9.4 Searching in files
-
- In the previous section we understood how to gain access to the file names of all files associated with open projects. We
- are now in a position to search within files. Let's begin the implementation of the \bold {HeaderFilter::findAll()}
- method, and understand more concepts as we progress.
-
- \code
- void HeaderFilter::findAll(const QString &text,QTextDocument::FindFlags findFlags)
- {
- // Fetch a list of all open projects
- QList<Project*> projects = d->projectPlugin->session()->projects();
-
- // Make a list of files in each project
- QStringList files;
- Q_FOREACH(Project* project, projects)
- files += project->files(Project::AllFiles);
-
- // Remove duplicates
- files.removeDuplicates();
-
- // Search for text in "files"
- // ...
- }
- \endcode
-
- The number of files that need to be searched can be varying. It may be as little as 1 and as high as 1000 or more! Hence
- searching for something in files within the \bold {findAll()} method is a bad idea. If the \bold {findAll()} method takes too long
- then it may cause Qt Creator to appear frozen until searching is finished.
-
- The solution to this is
- \list
- \o We make use of QtConcurrent and spawn multiple threads to perform the actual searching
- \o We initialize a QFutureWatcher on the QFuture returned by QtConcurrent to emit signals as and when
- search results are generated
- \o We catch the signals generated by QFutureWatcher and list search results as they come
- \endlist
-
- Qt Creator's core utils library provides a readymade function called \bold {findInFiles()} that looks for a string within a list
- of files and returns a \bold {QFuture} to monitor search results. The function is declared as follows in src/libs/utils/filesearch.h
-
- \code
- namespace Core {
- namespace Utils {
-
- class FileSearchResult
- {
- public:
- QString fileName;
- int lineNumber;
- QString matchingLine;
- int matchStart;
- int matchLength;
- };
-
- QFuture<FileSearchResult> findInFiles(const QString &searchTerm,const QStringList &files,
- QTextDocument::FindFlags flags
- );
-
- QFuture<FileSearchResult> findInFilesRegExp(const QString &searchTerm,const QStringList &files,
- QTextDocument::FindFlags flags
- );
-
- } // namespace Utils
- } // namespace Core
- \endcode
-
- Lets now continue with the implementation of \bold {HeaderFilter::findAll()} by making use of the
- \bold {findInFiles()} method.
-
- \code
- struct HeaderFilterData
- {
- QFutureWatcher<FileSearchResult> watcher;
-
- ProjectExplorer::ProjectExplorerPlugin* projectExplorer() {
- ...
- }
- };
-
- HeaderFilter::HeaderFilter()
- {
- d->watcher.setPendingResultsLimit(1);
- connect(&d->watcher, SIGNAL(resultReadyAt(int)),
- this, SLOT(displayResult(int)));
- }
-
- void HeaderFilter::findAll(const QString &text,QTextDocument::FindFlags findFlags)
- {
- ....
- // Remove duplicates
- files.removeDuplicates();
-
- // Begin searching
- QString includeline = "#include <" + text + ">";
- Find::SearchResult *result = d->searchResultWindow()->startNewSearch();
-
- // Let the watcher monitor the search results
- d->watcher.setFuture(QFuture<FileSearchResult>());
- }
-
- void HeaderFilter::displayResult(int index)
- {
- // TODO
- }
-
- \endcode
-
- In the revised \bold {findAll()} implementation we make use of the \bold {findInFiles()} method to spawn multiple
- background threads to do all the finding. As search results are generated, the \bold {displayResult(int)} slot is called. In
- this slot we can now show search results to the user.
-
-
- \section1 9.5 Showing search results
-
- The "find" plugin provides an object of class \bold {Find::SearchResultWindow}. This class provides access to the widget
- that displays search results.
-
- \inlineimage qtc-search-9.png
-
-
- We would like to show our search results in the "search result window" as well. To do so, we modify the
- \bold {HeaderFilter} code as follows
-
- \code
- #include <find/searchresultwindow.h>
- struct HeaderFilterData
- {
- // Method to search and return the search window
-
- Find::SearchResultWindow* searchResultWindow()
- {
- if(m_searchResultWindow)
- return m_searchResultWindow;
-
- ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
- m_searchResultWindow = pm->getObject<Find::SearchResultWindow>();
- return m_searchResultWindow;
- }
-
- private:
- Find::SearchResultWindow *m_searchResultWindow;
- };
-
- HeaderFilter::HeaderFilter()
- {
- // displayResult(int) is called when every a new
- // search result is generated
- connect(&d->watcher, SIGNAL(resultReadyAt(int)),this, SLOT(displayResult(int)));
- }
-
- void HeaderFilter::findAll(const QString &text,QTextDocument::FindFlags findFlags)
- {
- ...
- //When result gets activated it invokes the openEditor function
- connect(result, SIGNAL(activated(Find::SearchResultItem)),
- this, SLOT(openEditor(Find::SearchResultItem)));
-
- d->searchResultWindow()->popup(true);
- d->watcher.setFuture(Utils::findInFiles(includeline, files, findFlags));
- }
-
- void HeaderFilter::displayResult(int index)
- {
- FileSearchResult result = d->watcher.future().resultAt(index);
-
- d->searchResultWindow()->addResult(result.fileName,
- result.lineNumber,
- result.matchingLine,
- result.matchStart,
- result.matchLength);
- }
-
- void HeaderFilter::openEditor(const QString &fileName, int line, int column)
- {
- // TODO
- }
- \endcode
-
- Whenever the user double clicks on the search results, the \bold {openEditor()} method is called. In that method we should
- have Qt Creator open the corresponding file and mark the searched text.
-
- \section1 9.6 Opening the searched files
-
- Without going into too many details about the texteditor plugin, lets just take a look at the function that loads a named
- file for us and moves the cursor to a specified location. The \bold {BaseTextEditor} class in the \bold {TextEditor} namespace
- provides a static method called \bold {openEditorAt()} that serves our purpose.
-
- \code
- namespace TextEditor {
- class BaseTextEditor : public QPlainTextEdit
- {
- public:
- ....
- static ITextEditor *openEditorAt(const QString &fileName,int line, int column = 0,
- const QString &editorKind);
- ....
- };
- } // TextEditor namespace
- \endcode
-
- We now update the \bold {HeaderFilter::openEditor()} slot as follows
-
- \code
- #include <texteditor/basetexteditor.h>
- void HeaderFilter::openEditor(const Find::SearchResultItem &item)
- {
- TextEditor::BaseTextEditor::openEditorAt(item.fileName, item.lineNumber, item.index);
- }
- \endcode
-
- With this the \bold {HeaderFilter} is now complete.
-
-*/
diff --git a/doc/pluginhowto/find-support.qdoc b/doc/pluginhowto/find-support.qdoc
deleted file mode 100644
index e377bb7f72..0000000000
--- a/doc/pluginhowto/find-support.qdoc
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- \page find-support.html
- \title 9.Find support
-
- This page needs to be written still!
-*/
diff --git a/doc/pluginhowto/first-plugin.qdoc b/doc/pluginhowto/first-plugin.qdoc
deleted file mode 100644
index 47b25ca06f..0000000000
--- a/doc/pluginhowto/first-plugin.qdoc
+++ /dev/null
@@ -1,327 +0,0 @@
-/*!
-\page first-plugin.html
- itle 2. First Plugin
-The best way to learn about writing Qt Creator plugins is to actually start by writing the very first plugin.
-
-There are two ways for writing plugins for Qt Creator:
-\list
-\o \l {Writing plugin inside the source tree.}
-\o \l {Writing plugin outside the source tree.}
-\endlist
-For Writing plugin in the any of the above mentioned way Qt Creator source scould have been compiled.
-
-Lets keep our goals very simple for this one. We are going to provide a plugin for Qt Creator that does nothing. The purpose behind
-this "Do nothing" plugin is to discover the basic classes in Qt Creator and to feel happy when our plugin shows up in the
-"plugin list"
-
-\inlineimage qtc-aboutplugin-2.png
-
-
- arget {Writing plugin inside the source tree.}
-\section1 2.1 Create a plugin project in Qt Creator
-Create a folder called DoNothing in $$QT_CREATOR_ROOT/src/plugins directory. The entire source code of
-the plugin will be put into this directory.
-
-\bold {Note:}\underline {It may be possible to write and build Qt Creator plugins outside of its source tree, but it is
-much easier to write plugins within the source tree}.
-
-
-Lets first create the \c {DoNothing.pro} file with the following contents
-\code
-TEMPLATE = lib
-TARGET = DoNothing
-
-PROVIDER = FooCompanyInc
-
-include(../../qtcreatorplugin.pri)
-include(../../plugins/coreplugin/coreplugin.pri)
-
-HEADERS += DoNothingPlugin.h
-SOURCES += DoNothingPlugin.cpp
-OTHER_FILES += DoNothing.pluginspec
-\endcode
-
-The project file configures the following aspects of the plugin:
-\list 1
-\o Declares that DoNothing is a library. The output will be DoNothing.dll
-\o Configures DoNothing to make use of settings defined in qtcreatorplugin.pri
-\o Overrides the default destination directory to $$IDE_PLUGIN_PATH/FooCompanyInc. By default the value
- will be to $$IDE_PLUGIN_PATH/Nokia
-\o Configures DoNothing to make use of settings defined in coreplugin.pri
-\o Provides information about the .h and .cpp files that make up the plugin
-\endlist
-
-\section1 2.2 Marking the plugin for build
-Edit the \c {$$QT_CREATOR_ROOT/src/plugins/plugins.pro } file and include the following lines at the end of
-the file and save the changes.
-
-\code
-SUBDIRS += plugin_DoNothing
-plugin_DoNothing.subdir = DoNothing
-\endcode
-
-The above lines make sure that the next time we build Qt Creator, the DoNothing plugin is compiled along with the rest
-of Qt Creator plugins.
-
-\section1 2.3 Implementing the plugin
-So far we have only written the project file and marked our plugin for compilation. We now do the actual
-implementation of the plugin. All plugins implement the IPlugin interface. Lets take a look at how the DoNothing plugin
-implements the interface and understand it in stages.
-
-In \c {$$QT_CREATOR_ROOT/src/plugins/DoNothing/DoNothingPluigin.h} enter the following code.
-\code
-#ifndef DONOTHINGPLUGIN_H
-#define DONOTHINGPLUGIN_H
-#include <extensionsystem/iplugin.h>
-
-class DoNothingPlugin : public ExtensionSystem::IPlugin
-{
-public:
- DoNothingPlugin();
- ~DoNothingPlugin();
- void extensionsInitialized();
- bool initialize(const QStringList & arguments, QString * errorString);
- void shutdown();
-};
-#endif // DONOTHINGPLUGIN_H
-\endcode
-
-As you can see the DoNothingPlugin class implements the IPlugin interface and nothing else. Lets look at how the
-functions are implemented.
-
-\code
-#include "DoNothingPlugin.h"
-#include <QtPlugin>
-#include <QStringList>
-
-DoNothingPlugin::DoNothingPlugin()
-{
- // Do nothing
-}
-
-DoNothingPlugin::~DoNothingPlugin()
-{
- // Do notning
-}
-\endcode
-Apart from initializing local (non widget and non action) variables; the constructor and destructor don't do much else.
-\code
-
-bool DoNothingPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
- return true;
-}
-\endcode
-
-The \bold initialize() method is called when Qt Creator wants the plugin to initialize itself. This function is ideally used to
-initialize the internal state of the plugin and register actions/objects with Qt Creator. The function is called after all the
-dependencies of this plugin have been loaded.
-
-Since our plugin really does nothing, we return \bold {true} signifying that the initialization was successful. If the initialization
-was unsuccessful (for some wired reason); the \bold {errMsg} string should be set to a human readable error message.
-
-
-\code
-void DoNothingPlugin::extensionsInitialized()
-{
- // Do nothing
-}
-\endcode
-
-The \bold extensionsInitialized() method is called after this plugin has been initialized (ie. after initialize() method has been
-called). This method is called on plugins that depend on this plugin first.
-\code
-void DoNothingPlugin::shutdown()
-{
- // Do nothing
-}
-\endcode
-The \bold shutdown() method is called when the plugin is about to be unloaded.
-\code
-Q_EXPORT_PLUGIN(DoNothingPlugin)
-\endcode
-Finally we export the plugin class by making use of the \bold {Q_EXPORT_PLUGIN()} macro.
-
-\section1 2.4 Writing the pluginspec file
-
-Each plugin should accompany a pluginspec file that provides some meta data about the plugin. For our plugin the
-pluginspec file is as follows
-\code
-<plugin name="DoNothing" version="0.0.1">
- <vendor>FooCompanyInc</vendor>
- <copyright>(C) 2009-2011 FooCompanyInc Pvt. Ltd.</copyright>
- <license>Do anything you want</license>
- <description>A plugin that does nothing</description>
- <url>http://www.FooCompanyInc.com</url>
- <dependencyList>
- <dependency name="Core"/>
- </dependencyList>
-</plugin>
-\endcode
-The pluginspec file provides the following fields of information:
-
-\list 1
-\o Name of the plugin, which is also used as the name of the library file that provides the plugin implementation.
- (In our case DoNothing.dll on Windows, libDoNothing.so on Unix)
-
-\o Version of the plugin
-
-\o Vendor name
-
-\o Copyright
-
-\o License text
-
-\o Description
-
-\o URL of the plugin vendor
-
-\o Dependency List provides all the plugins that this plugin depends on. Qt Creator ensures that dependencies
- are loaded and initialized before this plugin.
-
-\endlist
-
-\bold {Note:}\underline {The pluginspec file should be in the same directory as the plugin's project file. Just to make things clear, the
-contents of the DoNothing plugin directory is as shown below}
-
-
-\inlineimage qtc-plugindirectory-2.png
-
-
-\section1 2.5 Compiling the plugin
-
-Open a command prompt and move to the Qt Creator build directory (the same build directory you created in the
-previous chapter). Execute the following commands
-\code
-qmake ..\qtcreator.pro -recursive
-nmake
-\endcode
-After nmake returns, you will notice a FooCompanyInc folder within plugins folder whose contents are shown in the image
-below.
-
-\inlineimage qtc-compiledplugin-2.png
-
-
-\section1 2.6 Check out the new plugin
-Launch (or relaunch) Qt Creator and notice that the "Installed Plugins" dialog box now reports that DoNothing plugin
-was infact loaded and initialized.
-
-
-\inlineimage qtc-installedplugin-2.png
-
-
-In the coming chapters we will learn to write more complicated plugins for Qt Creator.
-
- arget {Writing plugin outside the source tree.}
-\section1 2.7 Building out-of-source plugins
-
-Thus far we have understood how to build plugins within the source tree of Qt Creator. It may not be practical for us to
-use the Qt Creator source tree for plugin development all the time. Suppose that you are the author of a specialized
-library (or application) and you want integrate your product into Qt Creator. Since you are a 3rd party developer you
-cannot expect to have your code in Qt Creator source tree all the time. In this section we will look at how to build
-plugins that are outside the Qt Creator source tree.
-
-\section2 2.7.1 The plugin project file
-
-The whole magic of out-of-source plugin builds lies in the project (.pro) file of your plugin. Lets the DoNothing plugin
-discussed in the previous section and modify (its ".pro" file) so that plugins can be built from a directory outside Qt
-Creator source.
-
-The following table lists out the directory structure
-
-\table
-\header
-\o Description
-\o Directory
-
- \row
- \o Qt Creator Source Code
- \o C:\\Work\\QtCreator
-
- \row
- \o Qt Creator Build Directory
- \o C:\\Work\\QtCreator\\build
-
- \row
- \o DoNothing Plugin Source
- \o C:\\Work\\Research\\QtCreator\\Plugins\\DoNothing
-
-
- This directory currently contains
- \list
- \o DoNothing.pluginspec
- \o DoNothing.pro
- \o DoNothingPlugin.cpp
- \o DoNothingPlugin.h
- \endlist
-\row
-\o Target plugin directory
-\o C:\\Work\\QtCreator\\build\\lib\\qtcreator\\plugins\\FooCompanyInc
-
- \endtable
-
-Let's now modify the DoNothing.pro file in C:\\Work\\Research\\QtCreator\\Plugins\\DoNothing as follows.
-
-\code
-QTC_SOURCE = C:/Work/QtCreator/
-QTC_BUILD = C:/Work/QtCreator/build/
-
-TEMPLATE = lib
-TARGET = DoNothing
-
-IDE_SOURCE_TREE = $$QTC_SOURCE
-IDE_BUILD_TREE = $$QTC_BUILD
-
-PROVIDER = FooCompanyInc
-
-LIBS += -L$$IDE_PLUGIN_PATH/Nokia
-
-include($$QTC_SOURCE/src/qtcreatorplugin.pri)
-include($$QTC_SOURCE/src/plugins/coreplugin/coreplugin.pri)
-
-HEADERS = DoNothingPlugin.h
-SOURCES = DoNothingPlugin.cpp
-OTHER_FILES = DoNothingPlugin.pluginspec
-\endcode
-
-The \bold{QTC_SOURCE} and \bold {QTC_BUILD} variables in the project file point to the source and build directories of Qt Creator.
-If you prefer setting these as environment variables, then use \bold{$$(QTC_BUILD)} instead of \bold{$$QTC_BUILD} in the
-project file.
-
-The \bold {IDE_SOURCE_TREE} and \bold {IDE_BUILD_TREE} variables are used by qtcreatorplugin.pri to establish the include
-and library paths.
-
-The \bold {PROVIDER} and \bold {DESTDIR} directories must be set before including qtcreatorplugin.pri. This is because the variables
-will be provided default values are \bold {Nokia} and \bold {$$IDE_BUILD_TREE/lib/qtcreator/plugins/Nokia} otherwise.
-
-By default qtcreatorplugin.pri assumes that all the libs that a plugin may depend on are present inside the \bold {DESTDIR}. If
-our \bold {DESTDIR} is different from the default (Nokia) one, then we will need to explicitly set that. The remaining things are
-just the same.
-
-
-\section2 2.7.2 Compiling the plugin
-
-Once the project file has been created, we make use of the standard qmake and make commands to compile the plugin.
-
-\code
-C:\Work\Research\QtCreator\Plugins\DoNothing>qmake
-C:\Work\Research\QtCreator\Plugins\DoNothing>nmake
-
-Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
-Copyright (C) Microsoft Corporation. All rights reserved.
-
-"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\nmake.exe" -f Makefile.Debug
-Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
-Copyright (C) Microsoft Corporation. All rights reserved.
-
-copy /y "DoNothing.pluginspec"
-"..\..\..\..\QtCreator\build\lib\qtcreator\plugins\FooCompanyInc\DoNothing.pluginspec"
-1 file(s) copied.
-........................................
-mt.exe -nologo -manifest "debug\DoNothingd.intermediate.manifest" -
-outputresource:..\..\..\..\QtCreator\build\lib\qtcreator\plugins\FooCompanyInc\DoNothingd.dll;2
-C:\Work\Research\QtCreator\Plugins\DoNothing>
-\endcode
-*/
diff --git a/doc/pluginhowto/images/qtc-aboutplugin-2.png b/doc/pluginhowto/images/qtc-aboutplugin-2.png
deleted file mode 100644
index ce048ec86c..0000000000
--- a/doc/pluginhowto/images/qtc-aboutplugin-2.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-codeeffect-4.png b/doc/pluginhowto/images/qtc-codeeffect-4.png
deleted file mode 100644
index d318c54223..0000000000
--- a/doc/pluginhowto/images/qtc-codeeffect-4.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-compiledplugin-2.png b/doc/pluginhowto/images/qtc-compiledplugin-2.png
deleted file mode 100644
index 6dceac1604..0000000000
--- a/doc/pluginhowto/images/qtc-compiledplugin-2.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-configwidget-9.png b/doc/pluginhowto/images/qtc-configwidget-9.png
deleted file mode 100644
index 1c792ef74d..0000000000
--- a/doc/pluginhowto/images/qtc-configwidget-9.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-customeditor-10.png b/doc/pluginhowto/images/qtc-customeditor-10.png
deleted file mode 100644
index 585ae7a78a..0000000000
--- a/doc/pluginhowto/images/qtc-customeditor-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-customwizardone-8.png b/doc/pluginhowto/images/qtc-customwizardone-8.png
deleted file mode 100644
index 3dc3c76293..0000000000
--- a/doc/pluginhowto/images/qtc-customwizardone-8.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-customwizardtwo-8.png b/doc/pluginhowto/images/qtc-customwizardtwo-8.png
deleted file mode 100644
index a26a956dcf..0000000000
--- a/doc/pluginhowto/images/qtc-customwizardtwo-8.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-designer-8.png b/doc/pluginhowto/images/qtc-designer-8.png
deleted file mode 100644
index 6d64ef3f06..0000000000
--- a/doc/pluginhowto/images/qtc-designer-8.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-dirview-6.png b/doc/pluginhowto/images/qtc-dirview-6.png
deleted file mode 100644
index 464600008e..0000000000
--- a/doc/pluginhowto/images/qtc-dirview-6.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-donothingleft-5.png b/doc/pluginhowto/images/qtc-donothingleft-5.png
deleted file mode 100644
index 96209198f8..0000000000
--- a/doc/pluginhowto/images/qtc-donothingleft-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-donothingright-5.png b/doc/pluginhowto/images/qtc-donothingright-5.png
deleted file mode 100644
index 2e6869cea9..0000000000
--- a/doc/pluginhowto/images/qtc-donothingright-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-editor-10.png b/doc/pluginhowto/images/qtc-editor-10.png
deleted file mode 100644
index 4904077774..0000000000
--- a/doc/pluginhowto/images/qtc-editor-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-editor-8.png b/doc/pluginhowto/images/qtc-editor-8.png
deleted file mode 100644
index fc59120846..0000000000
--- a/doc/pluginhowto/images/qtc-editor-8.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-editortabs-10.png b/doc/pluginhowto/images/qtc-editortabs-10.png
deleted file mode 100644
index 0d5d36e114..0000000000
--- a/doc/pluginhowto/images/qtc-editortabs-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-fileformat-10.png b/doc/pluginhowto/images/qtc-fileformat-10.png
deleted file mode 100644
index 3b3e767be6..0000000000
--- a/doc/pluginhowto/images/qtc-fileformat-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-finddialog-9.png b/doc/pluginhowto/images/qtc-finddialog-9.png
deleted file mode 100644
index beb3679700..0000000000
--- a/doc/pluginhowto/images/qtc-finddialog-9.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-firstnavigation-6.png b/doc/pluginhowto/images/qtc-firstnavigation-6.png
deleted file mode 100644
index 7dbac0194b..0000000000
--- a/doc/pluginhowto/images/qtc-firstnavigation-6.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-help-5.png b/doc/pluginhowto/images/qtc-help-5.png
deleted file mode 100644
index b021977d6d..0000000000
--- a/doc/pluginhowto/images/qtc-help-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-helpdonothing-5.png b/doc/pluginhowto/images/qtc-helpdonothing-5.png
deleted file mode 100644
index f823e877c1..0000000000
--- a/doc/pluginhowto/images/qtc-helpdonothing-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-htmleditor-10.png b/doc/pluginhowto/images/qtc-htmleditor-10.png
deleted file mode 100644
index 585ae7a78a..0000000000
--- a/doc/pluginhowto/images/qtc-htmleditor-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-ieditor-10.png b/doc/pluginhowto/images/qtc-ieditor-10.png
deleted file mode 100644
index 7ba5448a7a..0000000000
--- a/doc/pluginhowto/images/qtc-ieditor-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-installedplugin-2.png b/doc/pluginhowto/images/qtc-installedplugin-2.png
deleted file mode 100644
index 6385e7f56f..0000000000
--- a/doc/pluginhowto/images/qtc-installedplugin-2.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-loggermode-13.png b/doc/pluginhowto/images/qtc-loggermode-13.png
deleted file mode 100644
index d605f05a96..0000000000
--- a/doc/pluginhowto/images/qtc-loggermode-13.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-loggermodewidget-13.png b/doc/pluginhowto/images/qtc-loggermodewidget-13.png
deleted file mode 100644
index 2fb60db3f3..0000000000
--- a/doc/pluginhowto/images/qtc-loggermodewidget-13.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-loggerpage-13.png b/doc/pluginhowto/images/qtc-loggerpage-13.png
deleted file mode 100644
index 1bdca41d05..0000000000
--- a/doc/pluginhowto/images/qtc-loggerpage-13.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-menubar-5.png b/doc/pluginhowto/images/qtc-menubar-5.png
deleted file mode 100644
index 2c4182dcf0..0000000000
--- a/doc/pluginhowto/images/qtc-menubar-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-menuitem-10.png b/doc/pluginhowto/images/qtc-menuitem-10.png
deleted file mode 100644
index 7a55675cb9..0000000000
--- a/doc/pluginhowto/images/qtc-menuitem-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-menuitemposition-5.png b/doc/pluginhowto/images/qtc-menuitemposition-5.png
deleted file mode 100644
index 5dbf3d3556..0000000000
--- a/doc/pluginhowto/images/qtc-menuitemposition-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-menuresponse-5.png b/doc/pluginhowto/images/qtc-menuresponse-5.png
deleted file mode 100644
index b610864fcb..0000000000
--- a/doc/pluginhowto/images/qtc-menuresponse-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-modes-13.png b/doc/pluginhowto/images/qtc-modes-13.png
deleted file mode 100644
index 2e22406ef9..0000000000
--- a/doc/pluginhowto/images/qtc-modes-13.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-nevigationwidget-4.png b/doc/pluginhowto/images/qtc-nevigationwidget-4.png
deleted file mode 100644
index 1aadab3b41..0000000000
--- a/doc/pluginhowto/images/qtc-nevigationwidget-4.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-newitemmodel-8.png b/doc/pluginhowto/images/qtc-newitemmodel-8.png
deleted file mode 100644
index c453e61602..0000000000
--- a/doc/pluginhowto/images/qtc-newitemmodel-8.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-newmode-13.png b/doc/pluginhowto/images/qtc-newmode-13.png
deleted file mode 100644
index d8f75db611..0000000000
--- a/doc/pluginhowto/images/qtc-newmode-13.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-newprojectdialog-8.png b/doc/pluginhowto/images/qtc-newprojectdialog-8.png
deleted file mode 100644
index dbf7e8dc89..0000000000
--- a/doc/pluginhowto/images/qtc-newprojectdialog-8.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-objectlist-4.png b/doc/pluginhowto/images/qtc-objectlist-4.png
deleted file mode 100644
index e6327ea03e..0000000000
--- a/doc/pluginhowto/images/qtc-objectlist-4.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-options-5.png b/doc/pluginhowto/images/qtc-options-5.png
deleted file mode 100644
index 7b4dcc2914..0000000000
--- a/doc/pluginhowto/images/qtc-options-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-options-7.png b/doc/pluginhowto/images/qtc-options-7.png
deleted file mode 100644
index d96513d020..0000000000
--- a/doc/pluginhowto/images/qtc-options-7.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-options-keyboard-5.png b/doc/pluginhowto/images/qtc-options-keyboard-5.png
deleted file mode 100644
index 6b21187c51..0000000000
--- a/doc/pluginhowto/images/qtc-options-keyboard-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-plaintextedit-10.png b/doc/pluginhowto/images/qtc-plaintextedit-10.png
deleted file mode 100644
index 77da1a9702..0000000000
--- a/doc/pluginhowto/images/qtc-plaintextedit-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-plugindirectory-2.png b/doc/pluginhowto/images/qtc-plugindirectory-2.png
deleted file mode 100644
index 1e758cbc5b..0000000000
--- a/doc/pluginhowto/images/qtc-plugindirectory-2.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-pluginmanager-4.png b/doc/pluginhowto/images/qtc-pluginmanager-4.png
deleted file mode 100644
index ef4301b0a8..0000000000
--- a/doc/pluginhowto/images/qtc-pluginmanager-4.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-progressbar-11.png b/doc/pluginhowto/images/qtc-progressbar-11.png
deleted file mode 100644
index 521b67eb71..0000000000
--- a/doc/pluginhowto/images/qtc-progressbar-11.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-search-9.png b/doc/pluginhowto/images/qtc-search-9.png
deleted file mode 100644
index 39d397364e..0000000000
--- a/doc/pluginhowto/images/qtc-search-9.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-searchprogress-11.png b/doc/pluginhowto/images/qtc-searchprogress-11.png
deleted file mode 100644
index 54e7f4364f..0000000000
--- a/doc/pluginhowto/images/qtc-searchprogress-11.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-secondnavigation-6.png b/doc/pluginhowto/images/qtc-secondnavigation-6.png
deleted file mode 100644
index acf3a2881b..0000000000
--- a/doc/pluginhowto/images/qtc-secondnavigation-6.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-testplugin-7.png b/doc/pluginhowto/images/qtc-testplugin-7.png
deleted file mode 100644
index c04d814963..0000000000
--- a/doc/pluginhowto/images/qtc-testplugin-7.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-testplugin-8.png b/doc/pluginhowto/images/qtc-testplugin-8.png
deleted file mode 100644
index 3fbcee5894..0000000000
--- a/doc/pluginhowto/images/qtc-testplugin-8.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-testplugin-9.png b/doc/pluginhowto/images/qtc-testplugin-9.png
deleted file mode 100644
index 9affcc4dbe..0000000000
--- a/doc/pluginhowto/images/qtc-testplugin-9.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/images/qtc-title-10.png b/doc/pluginhowto/images/qtc-title-10.png
deleted file mode 100644
index 25f662ef11..0000000000
--- a/doc/pluginhowto/images/qtc-title-10.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/location-filter.qdoc b/doc/pluginhowto/location-filter.qdoc
deleted file mode 100644
index 88bd85680a..0000000000
--- a/doc/pluginhowto/location-filter.qdoc
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- \page location-filter.html
- \title 14.Adding location filter
-
- This page needs to be written still!
-*/
diff --git a/doc/pluginhowto/menu.qdoc b/doc/pluginhowto/menu.qdoc
deleted file mode 100644
index 5a49181942..0000000000
--- a/doc/pluginhowto/menu.qdoc
+++ /dev/null
@@ -1,304 +0,0 @@
-/*!
-\page menu.html
-\title 5. Adding menu and menu-items
-
-In this chapter we will understand how to add entries to existing menus in Qt Creator. We will also learn how to add new
-menu entries. Before moving ahead let's take a look at the menu bar in Qt Creator
-
-\inlineimage qtc-menubar-5.png
-
-
-The menu bar consists of the following set of default menus
-\list
-\o File
- \list
- \o New
- \o Open
- \o Recent Files
- \endlist
-\o Edit
- \list
- \o Advanced
- \endlist
-\o Tools
-\o Window
- \list
- \o Panes
- \endlist
-\o Help
-\endlist
-
-\bold {Note:}\underline{Other menu items like Build and Debug come from plugins. They are not a part of the default menu set}.
-
-As Qt developers we know that the above menus are shown within a \bold {QMenuBar}; and that there is a \bold {QMenu} associated
-with each of the above menus.
-
-\section1 5.1 Core::ActionManager
-
-The main Qt Creator program is nothing but a plugin loader. All of the functionality provided by Qt Creator is provided
-by the plugins. The main plugin for Qt Creator is called "core" Without core, Qt Creator really doesn't have a personality
-
-One of the key components of the "core" is the \bold {ActionManager}.\bold {ActionManager} is responsible for registration of menus,
-menu-items and keyboard shortcuts. So if we wanted to add a new menu-item or menu, we would have to use
-\bold {ActionManager}. The coming subsections explain this better.
-
-To gain access to the \bold {ActionManager}, the following piece of code can be used.
-\code
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/icore.h>
-Core::ActionManager* am = Core::ICore::instance()->actionManager();
-\endcode
-
-\section1 5.2 Core::ActionContainer
-
-ActionContianer represents menu or menubar in Qt Creator. Instances of ActionContainer are never created directly,
-instead they are accessed using ActionManager::createMenu(), ActionManager::createMenuBar() etc; but more on that
-later.
-There is an ActionContainer associated with each of the default menus in Qt Creator. Fetching ActionContainer for a
-given menu can be done using the following code snippet
-
-\code
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/icore.h>
-
-Core::ActionManager* am = Core::ICore::instance()->actionManager();
-Core::ActionContainer* ac = am->actionContainer( ID );
-\endcode
-The following table lists out the ID to use for each of the menus in Qt Creator. Each of the IDs are defined as \bold {const}
-\bold {char*} static variables within the \bold {Core} namespace.
-
-\table
-\header
- \o Menu
- \o ID
-\row
- \o File
- \o Core::Constants::M_FILE
-\row
- \o File->New
- \o Core::Constants::M_FILE_NEW
-\row
- \o File->Open
- \o Core::Constants::M_FILE_OPEN
-\row
- \o Edit
- \o Core::Constants::M_FILE_RECENTFILES
-\row
- \o Edit->Advanced
- \o Core::Constants::M_EDIT_ADVANCED
-\row
- \o Tools
- \o Core::Constants::M_TOOLS
-\row
- \o Window
- \o Core::Constants::M_WINDOW
-\row
- \o Window Panes
- \o Core::Constants::M_WINDOW_PANES
-\row
- \o Help
- \o Core::Constants::M_HELP
-\endtable
-
-So if we want to catch hold of the "Help" menu, we can use the code snippet as follows
-\code
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/icore.h>
-
-Core::ActionManager* am = Core::ICore::instance()->actionManager();
-Core::ActionContainer* ac = am->actionContainer( Core::Constants::M_HELP );
-\endcode
-
-\section1 5.3 Registering menu-items.
-
-The Core::Command class represents an action like a menu item, tool button, or shortcut. You don't create Command
-objects directly, instead use we use ActionManager::registerAction() to register an action and retrieve a Command. The
-Command object represents the user visible action and its properties.
-
-Shown below is the right way to add the "About DoNothing" menu-item from the DoNothing plugin.
-
-\code
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/actionmanager/command.h>
-#include <coreplugin/icore.h>
-#include <QKeySequence>
-
-bool DoNothingPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- // Fetch the action manager
- Core::ActionManager* am = Core::ICore::instance()->actionManager();
-
- // Create a command for "About DoNothing".
- Core::Command* cmd = am->registerAction(
- new QAction(tr("About DoNothing"),this),
- "DoNothingPlugin.AboutDoNothing",
- QList<int>() <<Core::Constants::C_GLOBAL_ID
- );
-
- // Add the command to Help menu
- am->actionContainer(Core::Constants::M_HELP)->addAction(cmd);
- return true;
-}
-\endcode
-\bold {Warning:}\underline { ac->menu()->addAction("About DoNothing") should never be used when adding menu items to Qt Creator.}
-
-After compiling the changes, we can notice that the "About DoNothing" action shows up in the "Help" menu; but at the
-beginning.
-
-\inlineimage qtc-helpdonothing-5.png
-
-
-If the "About DoNothing" menu item is to be placed in between specified menu item the we will make a small update in the code block
-\code
-bool DoNothingPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- .....
- // Add the command to Help menu
- am->actionContainer(Core::Constants::M_HELP)->addAction(showCmd, Core::Constants::G_HELP_HELP);
- return true;
-}
-\endcode
-
-The effect of the change in code can be seen in the image below.
-
-\inlineimage qtc-menuitemposition-5.png
-
-
-When added this way, we will be able to find the "About DoNothing" action in the "Keyboard Shortcuts" dialog box and
-also associate a keyboard shortcut with it.
-
-\inlineimage qtc-options-keyboard-5.png
-
-
-\section1 5.4 Responding to menu-items
-Since menu-items are QActions, we can connect to their triggered(bool) or toggled(bool) signal and respond to
-trigger/toggled events. The code below shows how to do this
-\code
-class DoNothingPlugin : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
-
-private slots:
- void about();
-};
-
-bool DoNothingPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- ......
- QAction *action = new QAction(tr("About DoNothing"),this);
- Core::Command* cmd = am->registerAction(action,
- "DoNothingPlugin.AboutDoNothing",
- QList<int>() << 0);
- ......
- connect(action, SIGNAL(triggered(bool)), this, SLOT(about()));
- return true;
-}
-
-void DoNothingPlugin::about()
-{
- QMessageBox::information(0, "About DoNothing Plugin",
- "Seriously dude, this plugin does nothing");
-}
-\endcode
-
-After compiling the changes and clicking on the "About DoNothing" menu-item, we can see the information dialog box
-as shown below.
-
-\inlineimage qtc-menuresponse-5.png
-
-
-If you wanted the message box to have the Qt Creator main window as its parent, then you can use the following code
-for the about() slot.
-
-\code
-void DoNothingPlugin::about()
-{
- QMessageBox::information(Core::ICore::instance()->mainWindow(),
- "About DoNothing Plugin",
- "Seriously dude, this plugin does nothing");
-}
-\endcode
-
-\section1 5.5 Adding menus
-The procedure for adding menus is the same. Instead of creating a \bold {Core::Command}, we create a \bold {Core::ActionContainer}
-and add it to the \bold {MENU_BAR}. The following code snippet highlights the changes from our previous version.
-\code
-bool DoNothingPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- // Fetch the action manager
- Core::ActionManager* am = Core::ICore::instance()->actionManager();
-
- // Create a DoNothing menu
- Core::ActionContainer* ac = am->createMenu("DoNothingPlugin.DoNothingMenu");
- ac->menu()->setTitle("DoNothing");
-
- // Create a command for "About DoNothing".
- QAction *action = new QAction(tr("About DoNothing",this));
- Core::Command* cmd = am->registerAction(action,"DoNothingPlugin.AboutDoNothing",QList<int>() << 0);
-
- // Add DoNothing menu to the menubar
- am->actionContainer(Core::Constants::MENU_BAR)->addMenu(ac);
-
- // Add the "About DoNothing" action to the DoNothing menu
- ac->addAction(cmd);
-
- // Connect the action
- connect(action, SIGNAL(triggered(bool)), this, SLOT(about()));
- return true;
-}
-\endcode
-After recompiling the changes, you will be able to notice the DoNothing menu as shown in the screenshot below.
-
-\inlineimage qtc-donothingleft-5.png
-
-\section1 5.6 Placing menus and menu-items
-It is possible to insert menus and menu-items anywhere you want. Shown below is a code snippet that inserts the
-"DoNothing" menu before the "Help" menu.
-\code
-bool DoNothingPlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- // Fetch the action manager
- Core::ActionManager* am = Core::ICore::instance()->actionManager();
-
- // Create a DoNothing menu
- Core::ActionContainer* ac = am->createMenu("DoNothingPlugin.DoNothingMenu");
- ac->menu()->setTitle("DoNothing");
-
- // Create a command for "About DoNothing".
- QAction *action = new QAction(tr("About DoNothing"),this);
- Core::Command* cmd = am->registerAction(action,"DoNothingPlugin.AboutDoNothing",QList<int>() << 0);
-
- // Insert the "DoNothing" menu between "Window" and "Help".
- QMenu* windowMenu = am->actionContainer(Core::Constants::M_HELP)->menu();
- QMenuBar* menuBar = am->actionContainer(Core::Constants::MENU_BAR)->menuBar();
- menuBar->insertMenu(windowMenu->menuAction(), ac->menu());
-
- // Add the "About DoNothing" action to the DoNothing menu
- ac->addAction(cmd);
-
- // Connect the action
- connect(action, SIGNAL(triggered(bool)), this, SLOT(about()));
- return true;
-}
-\endcode
-
-After compiling the changes, we can now notice that change in position of the "DoNothing" menu.
-
-\inlineimage qtc-donothingright-5.png
-
-
-You can use a similar technique for customizing the position of menu-items.
-
-*/
diff --git a/doc/pluginhowto/mode.qdoc b/doc/pluginhowto/mode.qdoc
deleted file mode 100644
index f777bf83ba..0000000000
--- a/doc/pluginhowto/mode.qdoc
+++ /dev/null
@@ -1,537 +0,0 @@
-/*!
-\page mode.html
-\title 13. Adding a mode
-
-When we are working in Qt Creator then we in one of the six modes below.
-
-\list
-\o Welcome
-\o Edit
-\o Debug
-\o Project
-\o Help
-\o Output
-\endlist
-
-By selecting different modes in Qt creator we can quickly switch between different task spaces, such
-as editing, browsing the Qt Creator manual, setting up the build environment, etc.
-Different modes can be selected either by clicking on the mode selectors or through keyboard shortcuts.
-
-The following figure shows the mode selectors in the Qt Creator.
-
-\inlineimage qtc-modes-13.png
-
-
-Now in this chapter we are concerned about learning to add a new mode and a "LoggerMode" mode selector will be availble in Qt Creator.
-
-\section1 13.1 Core Classes and Interfaces
-
-To support a new mode we need to
-\list
-\o Implement a plugin \bold {(ExtensionSystem::IPlugin } implementation) class that exposes the new mode.Chapter 2 in this
- document provides a detailed description on creating plugins by implementing the ExtensionSystem::IPlugin interface.
-\o Implement the \bold{(Core::IMode)} interface. This interface allows us to add a new mode in Qt creator
-\endlist
-
-
-\section2 Step 1. Core::IMode interface
-This interface abstracts the creation of a mode, adding an icon to the mode selector, setting the mode priority,
-setting a unique made name. The \bold {Core::IMode} interface is declared as follows in scr/plugins/coreplugin/imode.h
-\code
-namespace Core {
-
- class CORE_EXPORT IMode : public IContext
- {
- Q_OBJECT
-
- public:
- IMode(QObject *parent = 0) : IContext(parent) {}
- virtual ~IMode() {}
-
- virtual QString name() const = 0;
- virtual QIcon icon() const = 0;
- virtual int priority() const = 0;
- virtual const char *uniqueModeName() const = 0;
- };
-} // namespace Core
-\endcode
-
-Notice that Core::IMode inherits Core::IContext. Core::IContext is an interface through which
-Qt Creator picks up the widget corresponding to the mode. The Core::IContext interface is declared
-as follows.
-
-\code
-namespace Core
-{
-
- class CORE_EXPORT IContext : public QObject
- {
- Q_OBJECT
-
- public:
- IContext(QObject *parent = 0) : QObject(parent) {}
- virtual ~IContext() {}
-
- virtual QList<int> context() const = 0;
- virtual QWidget *widget() = 0;
- virtual QString contextHelpId() const { return QString(); }
- };
-}
-\endcode
-
-\section1 13.2 Adding a new mode
-Lets add a mode to Qt Creator called "LoggerMode". LoggerMode allows the user (developer) to log the number of hours he/she
-has worked on a project. The following steps explain how the new mode "LoggerMode" is added.
-
-\section2 Step 1. Declaring the LoggerMode class
-We first begin by declaring a class called LoggerMode that implements the Core::IMode interface.
-The class definition is as follows.
-\code
-#include <coreplugin/imode.h>
-
-struct LoggerModeData;
-class LoggerMode : public Core::IMode
-{
- Q_OBJECT
-
-public:
- LoggerMode();
- ~LoggerMode();
-
- QString name() const;
- QIcon icon() const;
- int priority() const;
- QWidget *widget();
- const char *uniqueModeName() const;
- QList<int> context() const;
- void activated();
- QString contextHelpId() const { return QLatin1String("Qt Creator"); }
-
-private:
- LoggerModeData *d;
-};
-\endcode
-
-\section2 Step 2. Implementing the LoggerMode class
-Declaring the private variables of the LoggerMode class.
-\code
-struct LoggerModeData
-{
- QWidget *m_widget;
-};
-\endcode
-The constructor creates a new blank widget just for now to get started with the mode.
-The constructor and the destructor are implemented as follows
-\code
-LoggerMode::LoggerMode()
-{
- d = new LoggerModeData;
- d->m_widget = new QWidget;
-}
-
-LoggerMode::~LoggerMode()
-{
- delete d->m_widget;
- delete d;
-}
-\endcode
-The \bold {name()} method returns a name for the new mode selector.
-\code
-QString LoggerMode::name() const
-{
- return tr("LoggerMode");
-}
-\endcode
-
-The \bold {icon()} method returns a logo for the new mode selector.
-\code
-QIcon LoggerMode::icon() const
-{
- return QIcon(QLatin1String(":/core/images/logo/32/qtcreator.png"));
-}
-\endcode
-
-The \bold {priority()} method is implemented to return a priority for the mode. Modes of higher
-priority are shown above modes of lower priority. The highest priority in Qt Creator is currently
-100 and is associated with the Welcome mode. We return 0 from LoggerMode, becasue we want this
-mode to appear at the end.
-\code
-int LoggerMode::priority() const
-{
- return 0;
-}
-\endcode
-Thw \bold {widget()} method returns a widget to the new mode.
-\code
-QWidget* LoggerMode::widget()
-{
- return d->m_widget;
-}
-\endcode
-
-The \bold {uniqueModeName()} returns the name of the mode to the "LoggerMode" Class.
-\code
-const char* LoggerMode::uniqueModeName() const
-{
- return "LoggerMode" ;
-}
-\endcode
-The \bold {context()} method returns an empty list of integers to tne "LoggerMode" class.
-\code
-QList<int> LoggerMode::context() const
-{
- return QList<int>();
-}
-\endcode
-
-\section2 Step 3. Implementing the "LoggerMode" plugin
-We implement the "LoggerMode" plugin very similar to the DoNothingPlugin class described in Chapter 2.
-Here we only look at the implementation of the initialize() method.
-\code
-bool LoggerModePlugin::initialize(const QStringList& args, QString *errMsg)
-{
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
-
- loggerMode = new LoggerMode;
- addAutoReleasedObject(loggerMode);
-
- return true;
-}
-\endcode
-\section2 Step 4. Testing the plugin.
-Upon compiling the plugin and restarting Qt Creator, we can notice the "LoggerMode" mode selector in the Qt creator.
-
-\inlineimage qtc-loggermode-13.png
-
-\section1 13.3 Adding Functionality to the "LoggerMode"
-The actual function of the "LoggerMode" is to log data in a text file about a project, such as progress , hours worked,
-description etc.
-
-\section2 Step 1. Modifying the "LoggerMode" Class
-
-To add the functionalities, the LoggerMode class is further modified.
-The code block is given as follows.
-
-\code
-struct LoggerModeData;
-class LoggerMode :public Core::IMode
-{
- Q_OBJECT
-
-public:
- LoggerMode();
- ~LoggerMode();
- ...
- ...
-
-protected slots:
- void addNewStackWidgetPage(const QString projectName);
- void addItem();
-
-private:
- ...
-};
-\endcode
-
-The constructor of the \bold {LoggerMode} class is modified as follows.
-\code
-LoggerMode::LoggerMode()
-{
- d = new LoggerModeData;
- d->m_widget = new QWidget;
-
- //Current Projects Label and combobox widget are created.
-
- d->currentProjectsLabel = new QLabel("Current projects :");
- d->currentProjectsLabel->setFixedWidth(90);
- d->currentProjectsCombobox = new QComboBox;
- d->currentProjectsCombobox->setSizePolicy(QSizePolicy::Preferred,
- QSizePolicy::Preferred);
-
- //Add Projects Label and combobox widget are created.
-
- d->addProjectLabel = new QLabel("Add Project :");
- d->addProjectLabel->setAlignment(Qt::AlignRight);
- d->addProjectComboBox = new QComboBox;
- d->addProjectComboBox->setSizePolicy(QSizePolicy::Preferred,
- QSizePolicy::Preferred);
- d->addProjectComboBox->setEditable(true);
-
- d->addToProjectButton = new QPushButton(tr("Add Project"));
- d->addToProjectButton->setFixedWidth(80);
-
- //Creating a horizontal Layout
-
- QHBoxLayout *hLayout = new QHBoxLayout;
- hLayout->addWidget(d->currentProjectsLabel);
- hLayout->addWidget(d->currentProjectsCombobox);
- hLayout->addWidget(d->addProjectLabel);
- hLayout->addWidget(d->addProjectComboBox);
- hLayout->addWidget(d->addToProjectButton);
-
- //creating a stackedWidget
-
- d->stackedWidget = new QStackedWidget;
-
- //creating a vertical layout
-
- QVBoxLayout* layout = new QVBoxLayout;
- layout->addLayout(hLayout);
- layout->addWidget(d->stackedWidget);
-
- d->m_widget->setLayout(layout);
-
- d->addProjectComboBox->addItem("Project 1");
- d->addProjectComboBox->addItem("Project 2");
- d->addProjectComboBox->addItem("Project 3");
-
- connect(d->addToProjectButton,SIGNAL(clicked()),
- this,SLOT(addItem()));
-
- connect(d->currentProjectsCombobox, SIGNAL(currentIndexChanged(int)),
- d->stackedWidget, SLOT(setCurrentIndex(int)));
-}
-
-\endcode
-
-Implementation of the \bold{addNewStackWidgetPage()} slot of \bold {LoggerMode} class
-\code
-void LoggerMode::addNewStackWidgetPage(const QString projectName)
-{
- d->stackedWidget->addWidget(new LoggerModeWidget(projectName));
-}
-\endcode
-
-Implementation of the \bold{addItem()} slot of \bold {LoggerMode} class
-\code
-void LoggerMode::addItem()
-{
- d->currentProjectsCombobox->addItem(d->addProjectComboBox->currentText());
- addNewStackWidgetPage(d->currentProjectsCombobox->itemText(0));
-}
-\endcode
-
-The effect of the above block of code can be seen in the following image.
-
-\inlineimage qtc-loggerpage-13.png
-
-
-\section2 Step 2. Declaration of the "LoggerModeWidget" class
-Reffering to the above image, when ever we select a project from the \bold {Add Project} combobox and click
-\bold {Add Project} button a new project is added to the \bold {Current projects} list and and a corresponding
-\bold {LoggerModeWidget} is opened, for logging different informations about the project.
-The declaration of the \bold {LoggerModeWidget} class is shown in the following code block.
-
- \code
-#include <QWidget>
-
-struct LoggerModeWidgetData;
-class LoggerModeWidget : public QWidget
-{
- Q_OBJECT
-
-public:
- LoggerModeWidget(const QString projectName, QWidget* parent = 0);
- ~LoggerModeWidget();
-
-public slots:
- void setProjectName(QString name);
-
-protected slots:
- bool saveToFile();
- void startTimeLog();
- void endTimeLog();
- void updateTime();
-
-private:
- LoggerModeWidgetData* d;
-};
-\endcode
-
-\section2 Step 3. Implementing the "LoggerModeWidget" class
-Declaring the private member variables in the structure called \bold {LoggerModeWidgetData}
-\code
-struct LoggerModeWidgetData
-{
- QLabel *progressLabel;
- QLabel *hoursWorkedLabel;
- QLabel *dateLabel;
- QLabel *descriptionLabel;
- QCalendarWidget *calendar;
- QComboBox *progressComboBox;
- QLineEdit *hoursWorkedLineEdit;
- QPushButton *startTimerButton;
- QPushButton *stopTimerButton;
- QPushButton *saveButton;
- QTimer *timer;
- QTextEdit *textEdit;
- QString projectName;
- int totalTime;
-};
-\endcode
-Implementation of the constructor and destructor of the \bold {LoggerModeWidget} class
-\code
-LoggerModeWidget::LoggerModeWidget(const QString projectName, QWidget* parent)
-:QWidget(parent)
-{
- d = new LoggerModeWidgetData;
- d->projectName = projectName;
- d->totalTime = 0;
-
- QStringList percentList;
- percentList <<"10%" <<"20%" <<"30%" <<"40%" <<"50%"
- <<"60%" <<"70%" <<"80%" <<"90%" <<"100%" ;
- d->progressLabel = new QLabel("Progress:");
- d->hoursWorkedLabel = new QLabel("Hours Worked:");
- d->dateLabel = new QLabel("Date:");
- d->descriptionLabel = new QLabel("Description :");
- d->hoursWorkedLineEdit = new QLineEdit;
- d->hoursWorkedLineEdit->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
- d->progressComboBox = new QComboBox;
- d->progressComboBox->addItems(percentList);
- d->progressComboBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
- d->startTimerButton = new QPushButton(tr("Start Timer"));
- d->startTimerButton->setFixedWidth(80);
- d->stopTimerButton = new QPushButton(tr("Pause Timer"));
- d->stopTimerButton->setFixedWidth(80);
- d->stopTimerButton->setCheckable(true);
- d->textEdit = new QTextEdit(this);
- d->textEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- d->calendar = new QCalendarWidget;
- d->saveButton = new QPushButton(tr("Save To File"));
- d->saveButton->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
-
- QGroupBox *timeLoggerBox = new QGroupBox(tr("Time Logger"));
-
- QGridLayout *gLayout = new QGridLayout;
- gLayout->addWidget(d->dateLabel, 0, 0, 1, 1);
- gLayout->addWidget(d->calendar, 1, 0, 1, 3);
- gLayout->addWidget(d->progressLabel, 2, 0, 1, 1);
- gLayout->addWidget(d->progressComboBox, 2, 1, 1, 1);
- gLayout->addWidget(d->hoursWorkedLabel, 3, 0, 1, 1);
- gLayout->addWidget(d->hoursWorkedLineEdit, 3, 1, 1, 1);
- gLayout->addWidget(d->startTimerButton, 4, 1, 1, 1);
- gLayout->addWidget(d->stopTimerButton, 4, 2, 1, 1);
-
- timeLoggerBox->setLayout(gLayout);
-
- d->timer = new QTimer(this);
-
- // connection of SIGNALS and SLOTS
-
- connect(d->timer, SIGNAL(timeout()), this, SLOT(updateTime()));
- connect(d->startTimerButton,SIGNAL(clicked()),this,SLOT(startTimeLog()));
- connect(d->stopTimerButton,SIGNAL(clicked()),this,SLOT(endTimeLog()));
- connect(d->saveButton, SIGNAL(clicked()), this, SLOT(saveToFile()));
-
- QVBoxLayout *vLayout = new QVBoxLayout;
- vLayout->addWidget(d->descriptionLabel);
- vLayout->addWidget(d->textEdit);
-
- QHBoxLayout * hLayout = new QHBoxLayout;
- hLayout->addWidget(timeLoggerBox);
- hLayout->addLayout(vLayout);
-
- QHBoxLayout *bLayout = new QHBoxLayout;
- bLayout->addStretch(1);
- bLayout->addWidget(d->saveButton);
-
- QVBoxLayout *mainLayout = new QVBoxLayout(this);
- mainLayout->addLayout(hLayout);
- mainLayout->addLayout(bLayout);
- mainLayout->addStretch(1);
-
-}
-
-LoggerModeWidget::~LoggerModeWidget()
-{
- delete d;
-}
-
-\endcode
-
-The \bold {saveToFile()} slot is used by the "SaveTofile" button to save the contents of the "LoggerModeWidget" to a
-text file.
-\code
-bool LoggerModeWidget::saveToFile()
-{
- QString fileName = QFileDialog::getSaveFileName(this);
- if (fileName.isEmpty())
- return false;
-
- QFile file(fileName);
- if (!file.open(QFile::WriteOnly | QFile::Text)) {
- QMessageBox::critical(this, tr("Application"),
- tr("Unable to open file %1 for writing :\n%2.")
- .arg(fileName)
- .arg(file.errorString()));
- return false;
- }
-
- QTextStream out(&file);
-
-#ifndef QT_NO_CURSOR
- QApplication::setOverrideCursor(Qt::WaitCursor);
-#endif
- out << "Project name : " << d->projectName << "\n";
- out << "Date : " << d->calendar->selectedDate().toString() << "\n";
- out << "Progress : " << d->progressComboBox->currentText() << "\n";
- out << "Duration : " << d->hoursWorkedLineEdit->text() << "\n\n";
- out << "Description : " << d->textEdit->toPlainText();
-#ifndef QT_NO_CURSOR
- QApplication::restoreOverrideCursor();
-#endif
-
- return true;
-}
-\endcode
-The \bold {startTimeLog()} slot is used by the \bold {Start Timer} button to start the timer.
-\code
-void LoggerModeWidget::startTimeLog()
-{
- d->totalTime = 0;
- d->timer->start(1000);
-}
-\endcode
-
-The \bold {endTimeLog()} slot is used by the \bold (Pause Timer } button to pause and resume the timer.
-\code
-void LoggerModeWidget::endTimeLog()
-{
- if(d->stopTimerButton->isChecked())
- {
- d->stopTimerButton->setText("Continue Timer");
- d->timer->stop();
- }
- else
- {
- d->stopTimerButton->setText("Pause Timer");
- d->timer->start(1000);
- }
-}
-\endcode
-
-The \bold {updateTime()} slot is used to update the time.
-\code
-void LoggerModeWidget::updateTime()
-{
- d->totalTime++;
- QTime time(0,0,0);
- time = time.addSecs(d->totalTime);
- d->hoursWorkedLineEdit->setText(time.toString());
-}
-\endcode
-
-\section1 13.4 Testing the final LoggerMode plugin.
-
-\section2 Step 1. A "LoggerMode" mode selector can be seen int the Qt Creator.
-\inlineimage qtc-loggermode-13.png
-
-\section2 Step 2. A LoggerMode widget opens with options to "Add Projects"
-\inlineimage qtc-loggerpage-13.png
-
-\section2 Step 3. The "Add Project" button adds a project to the "Current Project list and opens the the "LoggerModeWidget"
-\inlineimage qtc-loggermodewidget-13.png
-
-*/
diff --git a/doc/pluginhowto/nav-widget.qdoc b/doc/pluginhowto/nav-widget.qdoc
deleted file mode 100644
index e1274bd011..0000000000
--- a/doc/pluginhowto/nav-widget.qdoc
+++ /dev/null
@@ -1,171 +0,0 @@
-/*!
- \page nav-widget.html
- \title 6. Adding Navigation Widget
-
- Navigation panel in Qt Creator is the area where Project, File System, Bookmark and Open Documents siderbars are
- shown. Sidebar is one of the widgets in the "Navigation Panel" Take a look at the marked area in the screenshot below.
-
- \inlineimage qtc-firstnavigation-6.png
-
-
- Qt Creator makes it possible for us to divide the navigation panel into windows and view more than one side bar at the
- same time. Take a look at the screenshot below.
-
-
- \inlineimage qtc-secondnavigation-6.png
-
-
- In this chapter we will understand how to add a new side bar to Qt Creator.
-
- \section1 6.1 Core::INavigationWidgetFactory interface
-
- The Core of Qt Creator exposes an interface called Core::INavigationWidgetFactory. The interface is defined as follows in
- plugins/corelib/inavigationwidgetfactory.h
-
- \code
- class CORE_EXPORT INavigationWidgetFactory : public QObject
- {
- Q_OBJECT
-
- public:
- INavigationWidgetFactory();
- virtual ~INavigationWidgetFactory();
- virtual QString displayName() = 0;
- virtual QKeySequence activationSequence();
- virtual NavigationView createWidget() = 0;
- virtual void saveSettings(int position, QWidget *widget);
- virtual void restoreSettings(int position, QWidget *widget);
- };
- \endcode
-
- And NavigationView (the return type of createWidget()) is
-
- \code
- struct NavigationView
- {
- QWidget *widget;
- QList<QToolButton *> doockToolBarWidgets;
- };
-
- \endcode
-
- Plugins that provide a navigation siderbar (or widget) must implement this interface. In addition to implementing the
- interface, the plugin has to use "expose" an instance of that interface using methods described in section 4.2.2.
-
- \section1 6.2 Preparing a navigation sidebar (widget)
-
- Suppose that we wanted to provide a Directory browser as a side bar widget from our plugin.
-
- \section2 Step 1: Let's Implement FileSystemModel such that it will show only one column.
-
- The Implementation of FileSystemModel is as follows:
- \code
- #include <QFileSystemModel>
-
- class FileSystemModel : public QFileSystemModel
- {
- public:
- FileSystemModel(QObject* parent=0);
- ~FileSystemModel();
- int columnCount(const QModelIndex &parent = QModelIndex()}const;
- };
- \endcode
-
- General Constructor and Destructor
- \code
- FileSystemModel::FileSyatemModel(QObject *parent)
- :QFileSystemModel(parent)
- {
- }
-
- FileSystemModel::~FileSystemModel()
- {
- }
- \endcode
-
- Implement the virtual function columnCount to return only one column.
-
- \code
- int FileSystemModel::columnCount(const QModelIndex &parent)const
- {
- Q_UNUSED(parent)
- return 1;
- }
- \endcode
- With this FileSystemModel is ready.
-
- \section2 Step 2: Implementing the INavigationWidgetFactory Interface
- We implement the INavigationWidgetFactory interface in a class whose defination is as follows
-
- \code
- #include<coreplugin/inavigationwidgetfactory.h>
-
- class DirNavigationFactory:: public Core::INavigationWidgetFactory
- {
- public:
- DirNavigationFactory(){}
- ~DirNavigationFactory(){}
- Core::NavigationView createWidget();
- QString displayName();
- };
-
- \endcode
-
- The createWidget() method is implemented to return an instance of the QTreeView which uses
- FileSystemModel that was explained in previous step.
- \code
- Core::NavigationView DirNavigationFactory::createWidget()
- {
- Core::NavigationView view;
-
- // Create FileSystemModel and set the defauls path as home path
- FileSystemModel* model = new FileSystemModel;
- model->setRootPath(QDir::homePath());
-
- // Create TreeView and set model
- QTreeView* tree = new QTreeView;
- tree->setModel(model);
-
- view.widget = tree;
-
- return view;
- }
- \endcode
-
- The \bold {displayName()} method is implemented to return a descriptive name that Qt Creator should use for showing the
- side-bar.
-
- \code
- QString DirNavigationFactory::displayName()
- {
- return "Dir View";
- }
- \endcode
-
- With this the \bold {INavigationWidgetFactory} implementation is ready.
-
- \section2 Step 3: Implementing the Dir-view plugin
- We implement the Dir-view plugin class similar to the \bold {DoNothingPlugin} class described in Chapter 2. Hence, we only
- describe the implementation of the initialize method of the \bold {DirModelPluginPlugin} class here.
-
- \code
- bool DirModelPluginPlugin::initialize(const QStringList& args, QString *errMsg)
- {
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
- addAutoReleasedObject(new DirNavigationFactory);
- return true;
- }
- \endcode
-
- In the \bold {initialize()} method an instance of the \bold {INavigationWidgetFactory} implementation is created and added to the object
- pool. Once the object is added to the pool, \bold {ExtensionSystem::PluginManager} emits the \bold {objectAdded()} signal, which is
- then trapped by the Core of Qt Creator. The Core then makes use of our implementation of \bold {INavigationWidgetFactory}
- interface and places an instance of DirExplorerSideBar in the navigation panel.
-
- \section2 Step 4: Testing the plugin
- Upon compiling the plugin and restarting Qt Creator, we can notice the "Dir View" side bar as shown below.
-
- \inlineimage qtc-dirview-6.png
-
-*/
diff --git a/doc/pluginhowto/pluginhowto.pro b/doc/pluginhowto/pluginhowto.pro
deleted file mode 100644
index 465295e928..0000000000
--- a/doc/pluginhowto/pluginhowto.pro
+++ /dev/null
@@ -1,67 +0,0 @@
-TEMPLATE = app
-TARGET = pluginhowto
-CONFIG -= qt
-QT =
-LIBS =
-macx:CONFIG -= app_bundle
-
-isEmpty(vcproj) {
- QMAKE_LINK = @: IGNORE THIS LINE
- OBJECTS_DIR =
- win32:CONFIG -= embed_manifest_exe
-} else {
- CONFIG += console
- PHONY_DEPS = .
- phony_src.input = PHONY_DEPS
- phony_src.output = phony.c
- phony_src.variable_out = GENERATED_SOURCES
- phony_src.commands = echo int main() { return 0; } > phony.c
- phony_src.name = CREATE phony.c
- phony_src.CONFIG += combine
- QMAKE_EXTRA_COMPILERS += phony_src
-}
-
-
-QDOC_BIN = $$[QT_INSTALL_BINS]/qdoc3
-equals(QMAKE_DIR_SEP, /) { # unix, mingw+msys
- QDOC = SRCDIR=$$PWD OUTDIR=$$OUT_PWD/html $$QDOC_BIN
-} else:win32-g++* { # just mingw
- # The lack of spaces in front of the && is necessary!
- QDOC = set SRCDIR=$$PWD&& set OUTDIR=$$OUT_PWD/html&& $$QDOC_BIN
-} else { # nmake
- QDOC = set SRCDIR=$$PWD $$escape_expand(\\n\\t) \
- set OUTDIR=$$OUT_PWD/html $$escape_expand(\\n\\t) \
- $$QDOC_BIN
-}
-
-HELP_FILES = $$PWD/qtcreator-pluginhowto.qdocconf
-HELP_DEP_FILES = $$PWD/adv-find-filter.qdoc \
- $$PWD/editor-type.qdoc \
- $$PWD/find-filter.qdoc \
- $$PWD/find-support.qdoc \
- $$PWD/first-plugin.qdoc \
- $$PWD/location-filter.qdoc \
- $$PWD/menu.qdoc \
- $$PWD/mode.qdoc \
- $$PWD/nav-widget.qdoc \
- $$PWD/pref-pane.qdoc \
- $$PWD/progress.qdoc \
- $$PWD/project-file-wizard.qdoc \
- $$PWD/qtc-arch.qdoc \
- $$PWD/qtc-project-plugin.qdoc \
- $$PWD/qtcreator-compile.qdoc \
- $$PWD/qtcreator-pluginhowto.qdoc \
- $$PWD/vcs.qdoc \
- $$PWD/../config/qt-defines.qdocconf \
- $$PWD/../config/qt-html-templates.qdocconf \
- $$PWD/qtcreator-pluginhowto.qdocconf
-
-docs.name = CREATE API DOC
-docs.input = HELP_FILES
-docs.output = $$OUT_PWD/index.html
-docs.depends = $$HELP_DEP_FILES
-win32:docs.commands = $$QDOC \"${QMAKE_FILE_IN}\"
-unix:docs.commands = $$QDOC ${QMAKE_FILE_IN}
-docs.CONFIG += no_link
-isEmpty(vcproj):docs.variable_out = PRE_TARGETDEPS
-QMAKE_EXTRA_COMPILERS += docs
diff --git a/doc/pluginhowto/pref-pane.qdoc b/doc/pluginhowto/pref-pane.qdoc
deleted file mode 100644
index 122134c462..0000000000
--- a/doc/pluginhowto/pref-pane.qdoc
+++ /dev/null
@@ -1,205 +0,0 @@
-/*!
- \page pref-pane.html
- \title 7. Adding Preferences Pane
- Preferences dialog in Qt Creator is used to configure the Qt Creator settings. Since Qt Creator is just a plugin loader that
- loads all the relevant plugins, the preferences dialog shows pages that configure plugins. You can get to it by clicking
- Tools->Options.
-
- \inlineimage qtc-options-7.png
-
-
- Each plugin provides one or more options pages that get shown in the preferences dialog. In the following sub-sections
- we will learn how to add our own pages to the dialog.
-
- \section1 7.1 Core::IOptionsPage interface
-
- The Core of Qt Creator exposes an interface called \bold{Core::IOptionsPage}. The interface is defined in
- plugins/coreplugin/dialogs/ioptionspage.h.
-
- \code
- class CORE_EXPORT IOptionsPage : public QObject
- {
- Q_OBJECT
-
- public:
- IOptionsPage( *parent = 0) : QObject(parent) {}
- virtual ~IOptionsPage() {}
- virtual QString id() const = 0;
- virtual QString trName() const = 0;
- virtual QString category() const = 0;
- virtual QString trCategory() const = 0;
- virtual QWidget *createPage(QWidget *parent) = 0;
- virtual void apply() = 0;
- virtual void finish() = 0;
- };
- \endcode
-
- By implementing the above interface and exposing an instance of it, we will be able to register new pages with the
- preferences dialog.
-
- \section1 7.2 Preparing the options-page
- Let's implement a plugin that shows an options page that lists out all the open and modified files.
-
- \section2 Step 1: Implementing the "modified file" list widget
- The modified file list widget is simply a \bold{QListWidget} that shows all the modified files from the project manager. The
- class declaration is as follows
-
- \code
- #include <QListWidget>
- class ModifiedFileListWidget: public QListWidget
- {
- Q_OBJECT
-
- public:
- ModifiedFileListWidget(QWidget* parent=0);
- ~ModifiedFileListWidget();
- };
- \endcode
-
- Within the constructor we populate the list widget with names of the modified pages
-
- \code
- #include <coreplugin/filemanager.h>
- #include <coreplugin/icore.h>
- #include <coreplugin/ifile.h>
-
- ModifiedFileListWidget::ModifiedFileListWidget(QWidget* parent):QListWidget(parent)
- {
- // Show the list of modified pages
- Core::FileManager* fm = Core::ICore::instance()->fileManager();
- QList<Core::IFile*> files = fm->modifiedFiles();
-
- for(int i=0; i<files.count();i++)
- this->addItem(files.at(i)->fileName());
- }
- \endcode
-
- The destructor does nothing.
-
- \code
- ModifiedFileListerPage::~ModifiedFileListerPage()
- {
-
- }
- \endcode
-
- \section2 Step 2: Implementing the Core::IOptionsPage interface
- We implement the \bold {Core::IOptionsPage} interface in a class called \bold {ModifiedFileLister}. The class declaration
- is as follows
-
- \code
- #include <coreplugin/dialogs/ioptionspage.h>
- class ModifiedFileLister : public Core::IOptionsPage
- {
- Q_OBJECT
-
- public:
- ModifiedFileLister(QObject *parent = 0);
- ~ModifiedFileLister();
- // IOptionsPage implementation
- QString id() const;
- QString trName() const;
- QString category() const;
- QString trCategory() const;
- QWidget *createPage(QWidget *parent);
- void apply();
- void finish();
- };
- \endcode
-
- The constructor and destructor are straightforward and easy to understand.
-
- \code
- ModifiedFileLister::ModifiedFileLister(QObject *parent): IOptionsPage(parent)
- {
-
- }
-
- ModifiedFileLister::~ModifiedFileLister()
- {
-
- }
- \endcode
-
- The \bold{id()} method should be implemented to return a unique identifier for the options page provided by this class. The
- string will be used internally to \underline{\bold{id}}entify the page.
-
- \code
- QString ModifiedFileLister::id() const
- {
- return "ModifiedFiles";
- }
- \endcode
-
- The \bold {trName()} method should be implemented to return a translated string name that will be shown in the options
- dialog.
-
- \code
- QString ModifiedFileLister::trName() const
- {
- return tr("Modified Files");
- }
- \endcode
-
- The \bold{category()} and \bold{trCategory()} methods should be implemented to return the group under which we want to
- show the page. The latter returns the translated version of the string returned by the former.
-
- \code
- QString ModifiedFileLister::category() const
- {
- return "Help";
- }
-
- QString ModifiedFileLister::trCategory() const
- {
- return tr("Help");
- }
- \endcode
-
- The \bold{createPage()} method should be implemented to return a new instance of the page implemented in step 1.
-
- \code
- QWidget *ModifiedFileLister::createPage(QWidget *parent)
- {
- return new ModifiedFileListWidget(parent);
- }
- \endcode
-
- The methods \bold {apply()} and \bold {finish()} can be implemented to accept the changes made by the user made on the
- page. In our case we don't have any changes to accept, so we leave the methods empty.
-
- \code
- void ModifiedFileLister::apply()
- {
- // Do nothing
- }
-
- void ModifiedFileLister::finish()
- {
- // Do nothing
- }
- \endcode
-
- \section2 Step 3: Implementing the modified-file-lister plugin
-
- We implement the plugin class similar to the \bold {DoNothingPlugin} class described in Chapter 2. Hence, we only
- describe the implementation of the initialize method of the \bold {ModifiedFileListerPlugin} class here.
-
- \code
- bool ModifiedFileListerPlugin::initialize(const QStringList& args, QString *errMsg)
- {
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
- addAutoReleasedObject(new ModifiedFileLister);
- return true;
- }
- \endcode
-
- \section2 Step 4: Testing the plugin
- Upon compiling the plugin and restarting Qt Creator, we can notice in the options dialog the newly added "Modified
- Files" page.
-
-
- \inlineimage qtc-testplugin-7.png
-
- */
diff --git a/doc/pluginhowto/progress.qdoc b/doc/pluginhowto/progress.qdoc
deleted file mode 100644
index d65dd78f07..0000000000
--- a/doc/pluginhowto/progress.qdoc
+++ /dev/null
@@ -1,111 +0,0 @@
-/*!
- \page progress.html
- \title 11.Showing and reacting to progress information
- The progress bars give us the information about the progress status of a current task.We can find
- progress bar showing up in the Qt Creator window at the left side. Whenever a task is executed
- a progress bar pops up showing the progress status until the task is completed.
-
- \inlineimage qtc-progressbar-11.png
-
- \section1 11.1 Creating a progress bar
- First we will declare the methods required for implementing a "Progress Bar" widget and then we will attach the widget with "Header Filter" in "Find/Replace"
- and see it working according to the search progress status.
-
- \section2 Step 1. Modification of "HeaderFilter" class
- The "HeaderFilter" class discussed in Chapter 9. is further modified.
- So we will now declare the methods required for a "Progress Bar" in the following block of code.
- \code
- struct HeaderFilterData;
- class HeaderFilter : public Find::IFindFilter
- {
- Q_OBJECT
- public:
- HeaderFilter();
- ~HeaderFilter();
- ...
- QWidget *createProgressWidget();
-
- private:
- HeaderFilterData *d;
- };
- \endcode
-
- Here \bold {createProgressWidget()} is not implemented from Find::IFindFilter. It is a custom function written within HeaderFilter class,
- which takes up the onus of returning a progress display widget.
-
- \section2 Step 2. Implementation of the "HeaderFilter" class
- The private member variables of the \bold {HeaderFilter} class are declared in the structure \bold {HeaderFilterData}
- \code
- struct HeaderFilterData
- {
- QFutureWatcher<FileSearchResult> watcher;
- QLabel *resultLabel;
- ...
- ...
- };
- \endcode
- The \bold {constructor} and the \bold {destructor} are as follows.
- \code
- HeaderFilter::HeaderFilter()
- {
-
- d = new HeaderFilterProgressData;
- d->watcher.setPendingResultsLimit(1);
- d->resultLabel = 0 ;
- ...
- }
-
- HeaderFilter::~HeaderFilter()
- {
- delete d;
- }
- \endcode
-
- The \bold {findAll()} method is further modified to create a progress bar popup the bar while searching
- is going on.
- \code
- void HeaderFilter::findAll(const QString &text,QTextDocument::FindFlags findFlags)
- {
- ...
- ...
- ...
-
- //The "progress" is the instance of FutureProgress class.
- //The "progress" is the pointer to the progress bar created
- //Creates and shows the "progress" bar for searching task.
- Core::FutureProgress *progress =
- Core::ICore::instance()->progressManager()->addTask(d->watcher.future(),
- "MySearch",
- Find::Constants::TASK_SEARCH,
- Core::ProgressManager::KeepOnFinish
- );
-
- progress->setWidget(createProgressWidget());
- connect(progress, SIGNAL(clicked()), d->searchResultWindow(), SLOT(popup()));
- }
- \endcode
-
- The \bold {createProgressWidget()} function creates the progress widget.It shows
- the number of searched items found below and is placed below the progress bar.
- \code
- QWidget *HeaderFilter::createProgressWidget()
- {
- d->resultLabel = new QLabel;
- d->resultLabel->setAlignment(Qt::AlignCenter);
- QFont f = d->resultLabel->font();
- f.setBold(true);
- f.setPointSizeF(StyleHelper::sidebarFontSize());
- d->resultLabel->setFont(f);
- d->resultLabel->setPalette(StyleHelper::sidebarFontPalette(d->resultLabel->palette()));
- d->resultLabel->setText(tr("%1 found").arg(d->searchResultWindow()->numberOfResults()));
- return d->resultLabel;
- }
- \endcode
-
- \section2 Step 3.Testing the plugin.
- Now its the time to test the plugin. For searching we use our "HeaderFilter" and the searched result is shown in the
- "Search Results" window and the progress bar pops up while searching.
-
- \inlineimage qtc-searchprogress-11.png
-
-*/
diff --git a/doc/pluginhowto/project-file-wizard.qdoc b/doc/pluginhowto/project-file-wizard.qdoc
deleted file mode 100644
index 621fd6ea47..0000000000
--- a/doc/pluginhowto/project-file-wizard.qdoc
+++ /dev/null
@@ -1,667 +0,0 @@
-/*!
- \page project-file-wizard.html
- \title 8. Project/File Wizards
-
- New projects in Qt Creator can be created by clicking on the "File -> New" menu item and selecting the required project
- type. Shown below is the new project dialog box.
-
- \inlineimage qtc-newprojectdialog-8.png
-
-
- In this chapter we will learn how to add new project types into the dialog box above.
-
- \section1 8.1 Core::IWizard interface
-
- Qt Creator provides a Core::IWizard interface that can be implemented to support new project types. The interface is
- defined as follows in \bold {src/plugins/coreplugin/dialogs/iwizard.h}.
-
- \code
- class CORE_EXPORT IWizard : public QObject
- {
- Q_OBJECT
-
- public:
- enum Kind {FileWizard,ClassWizard,ProjectWizard};
- virtual Kind kind() const = 0;
- virtual QIcon icon() const = 0;
- virtual QString description() const = 0;
- virtual QString name() const = 0;
- virtual QString category() const = 0;
- virtual QString trCategory() const = 0;
- virtual QStringList runWizard(const QString &path, QWidget *parent) = 0;
- };
-
- \endcode
-
- Qt Creator supports the following types of new entities
- \list
- \o File
- \o Class
- \o Project
- \endlist
-
- \bold {Core::IWizard} has to be implemented to support any of the above project types.
-
- \section2 8.1.1 Sample implementation of Core::IWizard
- Let's implement the \bold {IWizard} interface to support a new project type called "Custom Project". The idea is to see the
- new project type listed in the new project wizard that shows up on clicking "File -> New".
-
- \section3 Step 1: Implementing the Core::IWizard interface
- Lets create a class called \bold {CustomProjectWizard} and subclass it from \bold {Core::IWizard}.
-
- \code
- class CustomProjectWizard : public Core::IWizard
- {
- public:
- CustomProjectWizard() { }
- ~CustomProjectWizard() { }
- Core::IWizard::Kind kind() const;
- QIcon icon() const;
- QString description() const;
- QString name() const;
- QString category() const;
- QString trCategory() const;
- QStringList runWizard(const QString &path, QWidget *parent);
- };
-
- \endcode
-
- Below we will discuss the implementation of each of the functions.
-
- \bold{The kind()} function should be implemented to return the type of "new" project we support in our implementation of
- \bold {IWizard}. Valid values are \bold {FileWizard},\bold{ClassWizard} and \bold {ProjectWizard}. In our implementation we return
- \bold{ProjectWizard}.
-
- \code
- Core::IWizard::Kind CustomProjectWizard::kind() const
- {
- return IWizard::ProjectWizard;
- }
- \endcode
-
- The \bold{icon()} implementation must return an icon to use against the project type in the New project dialog box. In our
- implementation we return the Qt Creator icon itself.
-
- \code
- QIcon CustomProjectWizard::icon() const
- {
- return qApp->windowIcon();
- }
- \endcode
-
- The \bold {description()},\bold {name()} and \bold {category()} methods must return some meta data of the new project/file/class
- type we are providing in the \bold {IWizard} implementation.
-
- \code
- QString CustomProjectWizard::description() const
- {
- return "A custom project";
- }
-
- QString CustomProjectWizard::name() const
- {
- return "CustomProject";
- }
-
- QString CustomProjectWizard::category() const
- {
- return "FooCompanyInc";
- }
- \endcode
-
- The \bold{trCategory()} method should be implemented to return a translated category string. This is the name that is
- shown on the "New.." dialog box.
-
- \code
- QString CustomProjectWizard::trCategory() const
- {
- return tr("FooCompanyInc");
- }
- \endcode
-
- If the user selects the "CustomProject" category supported by our implementation of \bold{IWizard} and selects Ok in the
- "New.." dialog box; then the \bold{runWizard()} method is called. This method must be implemented to show a dialog box
- or \bold{QWizard}, ask questions from the user about the new project/file/class being created and return a list of newly
- created files. In our implementation of the \bold{IWizard} we will return an empty string list.
-
- \code
- QStringList CustomProjectWizard::runWizard(const QString &path, QWidget *parent)
- {
- Q_UNUSED(path);
- Q_UNUSED(parent);
- QMessageBox::information(parent, "Custom Wizard Dialog", "Hi there!");
- return QStringList();
- }
- \endcode
-
- \section3 Step 2: Providing the wizard from a plugin
- We implement a custom-project plugin using the same means as described in Chapter 2. The only change is in the
- \bold{initialize()} method implementation of the plugin.
-
- \code
- bool CustomProjectPlugin::initialize(const QStringList& args, QString *errMsg)
- {
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
- addAutoReleasedObject(new CustomProjectWizard);
- return true;
- }
- \endcode
-
-
- \section3 Step 3: Testing the plugin
- Upon compiling the plugin and restarting Qt Creator, we can notice the new project type in the "New.." dialog box. Take
- a look at the screenshot below.
-
- \inlineimage qtc-testplugin-8.png
-
- \section1 8.2 Predefined IWizard implementation - Core::BaseFileWizard
-
- Qt Creator's core provides a default implementation of the \bold{IWizard} interface in the form of the
- \bold {Core::BaseFileWizard} class. This class implements provides default implementation of all the methods in the
- \bold {IWizard} interface and adds some virtual methods of its own. To make use of the class, we need to subclass from it and
- implement one or more methods.
-
- \section2 8.2.1 Core::GeneratedFile and Core::GeneratedFiles
-
- Normally a new wizard (\bold{IWizard} implementation) is implemented to allow the user to provide some hints and have
- one or more files automatically generated. The \bold{Core::GeneratedFile} helps abstract each of the files that need
- generation. We will learn later on that within subclasses of \bold{Core::BaseFileWizard}, we create an instance of
- \bold{Core::GeneratedFile} for each file that is automatically generated.
-
- The \bold{Core::GeneratedFile} class is defined as follows in \bold{coreplugin/basefilewizard.h}
-
- \code
- class GeneratedFile
- {
- public:
- GeneratedFile();
- explicit GeneratedFile(const QString &path);
- GeneratedFile(const GeneratedFile &);
- GeneratedFile &operator=(const GeneratedFile &);
- ~GeneratedFile();
-
- QString path() const;
- void setPath(const QString &p);
-
- QString contents() const;
- void setContents(const QString &c);
-
- QString editorKind() const;
- void setEditorKind(const QString &k);
-
- bool write(QString *errorMessage) const;
-
- private:
- QSharedDataPointer<GeneratedFilePrivate> m_d;
- };
-
- typedef QList<GeneratedFile> GeneratedFiles;
-
- \endcode
-
- Files that need to be generated by subclasses of \bold {Core::BaseFileWizard} are represented by the
- \bold {Core::GeneratedFile} class. The class contains three key properties of a file that needs generation
-
- \list 1
- \o Name of the file (with its absolute path).
- \o The kind of editor needed for editing the file. Some valid values for editor kind are
- \list a
- \o \bold{CppEditor::Constants::CPPEDITOR_KIND}
- \o \bold{GenericProjectManager::Constants::PROJECT_KIND}
- \o \bold{Git::Constants:: GIT_COMMAND_LOG_EDITOR_KIND}
- \o \bold {Git::Constants:: C_GIT_COMMAND_LOG_EDITOR}
- \endlist
- \o Contents of the file.
- \endlist
-
- Suppose that we wanted to generate a C++ source file with the following contents
-
- \code
- #include <iostream>
- int main()
- {
- cout << "Hello World\n";
- return 0;
- }
- \endcode
-
- We would use \bold{Core::GeneratedFile} for generating the above contents as follows
- \code
- #include <coreplugin/basefilewizard.h>
- #include <cppeditor/cppeditorconstants.h>
-
- Core::GeneratedFile genFile("C:/Path/To/Source.cpp");
- genFile.setEditorKind(CppEditor::Constants::CPPEDITOR_KIND);
- genFile.setContents(
- "#include <iostream>\n"
- "\n"
- "int main()\n"
- "{\n"
- " cout << \"Hello World\n\";\n"
- " \n"
- " return 0;\n"
- "}
- );
- genFile.write();
-
- \endcode
-
- \section2 8.2.2 The "Item Model" class wizard
-
- Suppose that we wanted to provide a new class wizard that helps automatically generate the skeleton of an item model
- based on few hints like
- \list
- \o Model Class Name
- \o Base Class Name (can be \bold {QAbstractItemModel},\bold QAbstractListModel and
- \bold{QAbstractTableModel})
- \o Header file name and
- \o Source file name
- \endlist
-
- Lets implement a plugin that will provide the new "Item Model" class wizard in Qt Creator.
-
- \section3 Step 1: Design the class wizard page
- Lets design a simple page in Qt Designer that accepts hints as described above.
-
- \inlineimage qtc-designer-8.png
-
-
- The design is saved as ModelNamePage.ui.
- \section3 Step 2: Implement the class wizard page
-
- Lets import the UI in a Qt/C++ and provide easy to use methods to help fetch information from the page. First we design
- a structure that captures all the "item model" class hints.
-
- \code
- struct ModelClassParameters
- {
- QString className;
- QString headerFile;
- QString sourceFile;
- QString baseClass;
- QString path;
- };
-
- \endcode
-
- Next we declare a wizard page class that imports the UI designed in the previous step and provides methods to access
- the hints provided by the user in the page.
-
- \code
- #include <QWizardPage>
- #include "ui_ModelNamePage.h"
- class ModelNamePage : public QWizardPage
- {
- Q_OBJECT
-
- public:
- ModelNamePage(QWidget* parent=0);
- ~ModelNamePage();
- void setPath(const QString& path);
- ModelClassParameters parameters() const;
- private slots:
- void on_txtModelClass_textEdited(const QString& txt);
-
- private:
- Ui::ModelNamePage ui;
- QString path;
- };
- \endcode
-
- The constructor and destructor are straight forward and easy to understand.
-
- \code
- ModelNamePage::ModelNamePage(QWidget* parent)
- :QWizardPage(parent)
- {
- setTitle("Enter model class information");
- setSubTitle("The header and source file names will be derived from the class name");
- ui.setupUi(this);
- }
-
- ModelNamePage::~ModelNamePage()
- {
- }
- \endcode
- The \bold{setPath()} method basically stores the path in the private variable.
-
- \code
- void ModelNamePage::setPath(const QString& path)
- {
- this->path = path;
- }
- \endcode
-
- The \bold{on_txtModelClass_textEdited()} slot computes the header and source file names based on the
- classname.
-
- \code
- void ModelNamePage::on_txtModelClass_textEdited(const QString& txt)
- {
- ui.txtHeaderFile->setText(txt + ".h");
- ui.txtImplFile->setText(txt + ".cpp");
- }
- \endcode
-
- Finally the \bold{parameters()} method returns all the hints entered by the user in a ModelClassParameters
- instance.
-
- \code
- ModelClassParameters ModelNamePage::parameters() const
- {
- ModelClassParameters params;
- params.className = ui.txtModelClass->text();
- params.headerFile = ui.txtHeaderFile->text();
-
- params.sourceFile = ui.txtImplFile->text();
- params.baseClass = ui.cmbBaseClass->currentText();
- params.path = path;
- return params;
- }
- \endcode
-
- \section3 Step 3: Subclass Core::BaseFileWizard
-
- The\bold {Core::BaseFileWizard} class is defined as follows in \bold{coreplugin/basefilewizard.h}
-
- \code
- class CORE_EXPORT BaseFileWizard : public IWizard
- {
- public:
- virtual ~BaseFileWizard();
-
- // IWizard
- virtual Kind kind() const;
- virtual QIcon icon() const;
- virtual QString description() const;
- virtual QString name() const;
- virtual QString category() const;
- virtual QString trCategory() const;
- virtual QStringList runWizard(const QString &path, QWidget *parent);
-
- protected:
- typedef QList<QWizardPage *> WizardPageList;
- explicit BaseFileWizard(const BaseFileWizardParameters &parameters,QObject *parent = 0);
-
- virtual QWizard *createWizardDialog(QWidget *parent,const QString &defaultPath,
- const WizardPageList &extensionPages) const = 0;
-
- virtual GeneratedFiles generateFiles(const QWizard *w,QString *errorMessage) const = 0;
-
- virtual bool postGenerateFiles(const GeneratedFiles &l,QString *errorMessage);
- };
- \endcode
-
- \underline {\bold{Note: Some methods from the actual BaseFileWizard class are not shown here.}}
-
- The \bold{BaseFileWizard} class implements the \bold{IWizard} interface and offers three new functions
-
- \list
- \o \bold{createWizardDialog} - This function can be over-ridden by subclasses to provide a wizard that the
- \bold{runWizard()} method is supposed to show.
- \list
- \o The \bold{parent} parameter should be used as the parent widget of the returned QWizard
- \o The \bold{defaultPath} parameter should be the default location for generated files
- \o The \bold{extensionPages} parameter lists out all the pages that should be shown in the wizard by default.
- \endlist
- \o \bold{generateFiles} - This method is called after the user is done with the wizard. Implementations of this
- method must create the required files as instances of \bold{Core::GeneratedFile} class.
-
- \o \bold{postGenerateFiles} - This method is called after \bold{generateFiles()} returns. The default
- implementation opens the newly generated files; however subclasses can choose to do anything they want.
- \endlist
-
- We subclass the BaseFileWizard as follows for our "item model" wizard
-
- \code
- #include <coreplugin/basefilewizard.h>
- class ModelClassWizard : public Core::BaseFileWizard
- {
- Q_OBJECT
-
- public:
- ModelClassWizard(const Core::BaseFileWizardParameters &parameters,
- QObject *parent = 0);
- ~ModelClassWizard();
-
- QWizard *createWizardDialog(QWidget *parent,
- const QString &defaultPath,
-
- const WizardPageList &extensionPages) const;
-
- Core::GeneratedFiles generateFiles(const QWizard *w,
- QString *errorMessage) const;
-
- private:
- QString readFile(const QString& fileName,
- const QMap<QString,QString>& replacementMap) const;
- };
-
- \endcode
-
- The constructor and destructor methods are straight forward and easy to understand.
-
- \code
- ModelClassWizard::ModelClassWizard(
- const Core::BaseFileWizardParameters &parameters,QObject *parent)
- : Core::BaseFileWizard(parameters, parent)
- {
- }
-
- ModelClassWizard::~ModelClassWizard()
- {
- }
- \endcode
-
- The \bold{createWizardDialog()} method is implemented to create a \bold{QWizard} with its first page as the
- \bold{ModelNamePage} class implemented step 2. Other default pages are added as usual.
-
- \code
- QWizard* ModelClassWizard::createWizardDialog(
- QWidget *parent,
- const QString &defaultPath,
- const WizardPageList &extensionPages) const
- {
- // Create a wizard
- QWizard* wizard = new QWizard(parent);
- wizard->setWindowTitle("Model Class Wizard");
-
- // Make our page as first page
- ModelNamePage* page = new ModelNamePage(wizard);
- int pageId = wizard->addPage(page);
- wizard->setProperty("_PageId_", pageId);
- page->setPath(defaultPath);
-
- // Now add the remaining pages
- foreach (QWizardPage *p, extensionPages)
- wizard->addPage(p);
- return wizard;
- }
- \endcode
-
- The \bold{readFile()} method is implemented to read a file and return its contents as a string. Before returning the file's
- contents as string, the function uses the replacement table passed as second parameter to fix the string.
-
- \code
- QString ModelClassWizard::readFile(const QString& fileName, const QMap<QString,QString>&
- replacementMap) const
- {
- QFile file(fileName);
- file.open(QFile::ReadOnly);
- QString retStr = file.readAll();
- QMap<QString,QString>::const_iterator it = replacementMap.begin();
- QMap<QString,QString>::const_iterator end = replacementMap.end();
-
- while(it != end)
- {
- retStr.replace(it.key(), it.value());
- ++it;
- }
- return retStr;
- }
- \endcode
-
- Suppose we have a file (\bold{sample.txt}) whose contents are as follows
-
- \code
- #ifndef {{UPPER_CLASS_NAME}}_H
- #define {{UPPER_CLASS_NAME}}_H
- #include <{{BASE_CLASS_NAME}}>
- struct {{CLASS_NAME}}Data;
-
- class {{CLASS_NAME}} : public {{BASE_CLASS_NAME}}
- {
- Q_OBJECT
-
- public:
- {{CLASS_NAME}}(QObject* parent=0);
- ~{{CLASS_NAME}}();
- int rowCount(const QModelIndex& parent) const;
- QVariant data(const QModelIndex& index, int role) const;
-
- private:
- {{CLASS_NAME}}Data* d;
- };
-
- #endif // {{UPPER_CLASS_NAME}}_H
- \endcode
-
- Lets say we wanted to replace the hints in {{xyz}} with something more appropriate, we could use the following code
- snippet.
-
- \code
- QMap<QString,QString> replacementMap;
- replacementMap["{{UPPER_CLASS_NAME}}"] = "LIST_MODEL";
- replacementMap["{{BASE_CLASS_NAME}}"] = "QAbstractListModel";
- replacementMap["{{CLASS_NAME}}"] = "ListModel";
- QString contents = readFile("Sample.txt", replacementTable);
- \endcode
-
- When the above code is executed, the contents string will contain
-
- \code
- #ifndef LIST_MODEL_H
- #define LIST_MODEL_H
- #include <QAbstractListModel>
- struct ListModelData;
-
- class ListModel : public QAbstractListModel
- {
- Q_OBJECT
-
- public:
- ListModel(QObject* parent=0);
- ~ListModel();
- int rowCount(const QModelIndex& parent) const;
- QVariant data(const QModelIndex& index, int role) const;
-
- private:
- ListModelData* d;
- };
- #endif // LIST_MODEL_H
- \endcode
-
- Seems like magic isnt it? ?. We create similar "template" header and source files for item, list and table model classes
- and create a resource for use in our project.
-
- Now, lets look at the implementation of the \bold{generateFiles()} method. This method basically creates two
- \bold{Core::GeneratedFile} instances and populates them with appropriate data before returning them in a list.
-
-
- \code
- Core::GeneratedFiles ModelClassWizard::generateFiles(
- const QWizard *w,QString *errorMessage) const
- {
- Q_UNUSED(errorMessage);
- Core::GeneratedFiles ret;
- int pageId = w->property("_PageId_").toInt();
- ModelNamePage* page = qobject_cast<ModelNamePage*>(w->page(pageId));
-
- if(!page)
- return ret;
- ModelClassParameters params = page->parameters();
- QMap<QString,QString> replacementMap;
-
- replacementMap["{{UPPER_CLASS_NAME}}"] = params.className.toUpper();
- replacementMap["{{BASE_CLASS_NAME}}"] = params.baseClass;
- replacementMap["{{CLASS_NAME}}"] = params.className;
- replacementMap["{{CLASS_HEADER}}"] = QFileInfo(params.headerFile).fileName();
-
- Core::GeneratedFile headerFile(params.path + "/" + params.headerFile);
- headerFile.setEditorKind(CppEditor::Constants::CPPEDITOR_KIND);
-
- Core::GeneratedFile sourceFile(params.path + "/" + params.sourceFile);
- sourceFile.setEditorKind(CppEditor::Constants::CPPEDITOR_KIND);
-
- if(params.baseClass == "QAbstractItemModel")
- {
- headerFile.setContents(readFile(":/CustomProject/ItemModelHeader", replacementMap) );
- sourceFile.setContents(readFile(":/CustomProject/ItemModelSource", replacementMap) );
- }
-
- else if(params.baseClass == "QAbstractTableModel")
- {
- headerFile.setContents(readFile(":/CustomProject/TableModelHeader", replacementMap) );
- sourceFile.setContents(readFile(":/CustomProject/TableModelSource", replacementMap) );
- }
-
- else if(params.baseClass == "QAbstractListModel")
- {
- headerFile.setContents(readFile(":/CustomProject/ListModelHeader", replacementMap) );
- sourceFile.setContents(readFile(":/CustomProject/ListModelSource", replacementMap) );
- }
-
- ret << headerFile << sourceFile;
- return ret;
- }
-
- \endcode
-
- \section3 Step 4: Implementing the plugin
-
- We implement the item model wizard plugin using the same means as described in Chapter 2. The only change is in the
- \bold {initialize()} method implementation of the plugin.
-
- \code
- bool ItemModelWizard::initialize(const QStringList& args, QString *errMsg)
- {
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
- Core::BaseFileWizardParameters params;
- params.setKind(Core::IWizard::ClassWizard);
- params.setIcon(qApp->windowIcon());
- params.setDescription("Generates an item-model class");
- params.setName("Item Model");
- params.setCategory("FooCompany");
- params.setTrCategory(tr("FooCompany"));
- addAutoReleasedObject(new ModelClassWizard(params, this));
- return true;
- }
- \endcode
-
- \section3 Step 5: Testing the plugin
-
-
- Upon compiling the plugin and restarting Qt Creator, we can notice the new project type in the "New.." dialog box. The
- following screenshots showcase the wizard that was just implemented.
-
- \inlineimage qtc-newitemmodel-8.png
-
-
- Upon selecting the "Item Model" class wizard, we can see the ModelNamePage in a custom wizard.
-
- \inlineimage qtc-customwizardone-8.png
-
-
- We enter the appropriate details and click "Next" Qt Creator then shows us a built-in page to allow addition of the
- newly generated files into the current project.
-
- \inlineimage qtc-customwizardtwo-8.png
-
-
- Upon clicking "Finish", we can notice the newly generated files in the editor.
-
- \inlineimage qtc-editor-8.png
-
- */
diff --git a/doc/pluginhowto/qtc-arch.qdoc b/doc/pluginhowto/qtc-arch.qdoc
deleted file mode 100644
index f33f2a3644..0000000000
--- a/doc/pluginhowto/qtc-arch.qdoc
+++ /dev/null
@@ -1,329 +0,0 @@
-/*!
- \page qtc-arch.html
- \title 4. Qt Creator Architecture
-
- Every large system has a well defined "system architecture" which if understood well makes it easy for us to find out
- way in it. Qt Creator is no different. In this chapter we will understand the basic architecture of Qt Creator so that we
- can continue our understanding of writing plugins.
-
- \section1 4.1 Nuts and Bolts of Qt Creator
-
- Qt Creator is Nokia's cross-platform IDE. Currently Qt Creator is mainly used for writing Qt/C++ code.
- The core of Qt Creator is basically only a "plugin loader" All functionality is implemented in plugins.
-
- \inlineimage qtc-pluginmanager-4.png
-
-
- The core "personality"of Qt Creator is implemented in the \bold {Core Plugin (Core::ICore)}. We have already had a brush
- with the core plugin in the previous chapter. In the rest of this document we will refer to "core plugin" as Core.
- The plugin manager \bold{(ExtensionSystem::PluginManager)} provides simple means for plugin cooperation that
- allow plugins to provide hooks for other plugin's extensions.
-
- \section1 4.2 What exactly is a plugin?
-
- At the most fundamental level plugin is a shared library (DLL file on Windows, SO file on Linux, DYLIB file on Mac). From
- a developer's point of view plugin is a module that
- \list 1
- \o Implements the ExtensionSystem::IPlugin interface in a class. This class will be referred to as "Plugin Class" in the
- rest of the document.
- \o Exports the Plugin Class using the Q_EXPORT_PLUGIN macro
- \o Provides a pluginspec file that provides some meta information about the plugin
- \o Registers one or more objects that might be of some interest to other plugins
- \o Searches for the availability of one or more objects registered by other plugins.
- \endlist
-
- We have already had some experience with the first three aspects listed above, but we have not touched upon the last
- two.
- \section2 4.2.1 What are registered objects?
-
- objects are those that land up in the \bold {PluginManager's} object pool. The \bold {allObjects()} method in
- \bold {PluginManager} returns the object pool as a list of QObject pointers. Shown below is the code that we can use to list
- all objects in the object-pool in a \bold {QListWidget}.
-
- \code
- #include <extensionsystem/pluginmanager.h>
-
- ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
- QList<QObject*> objects = pm->allObjects();
- QListWidget* listWidget = new QListWidget;
-
- Q_FOREACH(QObject* obj, objects)
- {
- QString objInfo = QString("%1 (%2)").arg(obj->objectName()).arg(obj->metaObject()->className());
- listWidget->addItem(objInfo);
- }
-
- listWidget->show();
- \endcode
- When such a list widget is constructed and shown; you will see a window as shown below.
-
-
- \inlineimage qtc-objectlist-4.png
-
-
- From the class names it is easy to picture the fact that each of those objects came from different plugins.
-
- \bold {\underline {A registered object is an instance of QObject (or one of its subclasses) registered by a plugin and is available in the
- object-pool for other plugins to make use of}}.
-
- \section2 4.2.2 How to "register" an object from a plugin?
- There are three ways to register an object from a plugin:
-
- \list
-
- \o \bold {IPlugin::addAutoReleasedObject(QObject*)}
- \o \bold {IPlugin::addObject(QObject*)}
- \o \bold {PluginManager::addObject(QObject*)}
-
- \endlist
-
-
- The \bold {IPlugin::addObject()} and \bold {IPlugin::addAutoReleasedObject()} essentially call the
- \bold {PluginManager::addObject()} method. The \bold {IPlugin} methods are only provided for convenience. It is
- recommended that plugins make use of the \bold {IPlugin} methods for adding objects.
-
- The only difference between \bold {addAutoReleasedObject()} and \bold {addObject()} is that objects added using the
- former method are automatically removed and deleted in the reverse order of registration when the plugin is destroyed.
- At anytime plugins can make use of the \bold {IPlugin::removeObject(QObject*)} method to remove its object from
- the object pool.
-
- \section2 4.2.3 What objects to register?
-
- Plugins can register just about any object. Normally objects that provide some sort of functionality used by other
- plugin(s) are registered. Functionalities in Qt Creator are defined by means of interfaces. Listed below are some interfaces
-
- \list
-
- \o \bold {Core::INavigationWidgetFactory}
- \o \bold {Core::IEditor}
- \o \bold {Core::IOptionsPage}
- \o \bold {Core::IWizard}
-
- \endlist
-
- \bold{\underline { C++ developers normally assume interfaces to be classes with all its functions are public pure
- virtual functions. In Qt Creator interfaces are subclasses of QObject that offer one or more
- methods are pure virtual}}.
-
- If a plugin has objects that implement an interface, then such an object has to be registered. For example if a plugin
- implements the \bold{INavigationWidgetFactory} interface in an object and registered it, the Core will automatically use that
- object to show the widget provided by it as navigation widget. Take a look at the code snippet below. We provide a
- simple \bold{QTableWidget} as navigation widget via an implementation of \bold {Core::INavigationWidgetFactory}.
-
- \code
- #include <coreplugin/inavigationwidgetfactory.h>
-
- class NavWidgetFactory : public Core::INavigationWidgetFactory
- {
- public:
- NavWidgetFactory();
- ~NavWidgetFactory();
- Core::NavigationView createWidget();
- QString displayName();
- };
-
- #include <QTableWidget>
-
- NavWidgetFactory::NavWidgetFactory() { }
- NavWidgetFactory::~NavWidgetFactory() { }
-
- Core::NavigationView NavWidgetFactory::createWidget()
- {
- Core::NavigationView view;
- view.widget = new QTableWidget(50, 3);
- }
-
- QString NavWidgetFactory::displayName()
- {
- return "Spreadsheet";
- }
-
- bool MyPlugin::initialize(const QStringList& args, QString *errMsg)
- {
- Q_UNUSED(args);
- Q_UNUSED(errMsg);
- // Provide a navigation widget factory.
- // Qt Creator's navigation widget will automatically
- // hook to our INavigationWidgetFactory implementation, which
- // is the NavWidgetFactory class, and show the QTableWidget
- // created by it in the navigation panel.
- addAutoReleasedObject(new NavWidgetFactory);
- return true;
- }
- \endcode
-
- The effect of the above code is
-
- \inlineimage qtc-codeeffect-4.png
-
- \section2 4.2.4 Becoming aware of registered objects
-
- Whenever the \bold {PluginManager::addObject()} is used to add an object, it \bold{(PluginManager)} emits the
- \bold {objectAdded(QObject*)} signal. This signal can be used within our applications to figure out the objects that got
- added.
-
- Obviously a plugin will begin receiving the signal only after it makes a connection to it. That happens only after the
- plugin is initialized; which also means that the plugin will receive the \bold {objectAdded()} signal only for objects added
- after the plugin was initialized.
-
- Usually the slot that is connected to the objectAdded() signal will look for one or more known interfaces. Suppose that
- your plugin is looking for the INavigationWidgetFactory interface, the slot connected to objectAdded() will be like the
- one shown below.
-
- \code
- void Plugin::slotObjectAdded(QObject * obj)
- {
- INavigationWidgetFactory *factory = Aggregation::query<INavigationWidgetFactory>(obj);
-
- if(factory)
- {
- // use it here...
- }
- }
- \endcode
-
- \section2 4.2.5 Searching for objects
-
- Sometimes a plugin might want to search for an object in the application that offers some functionality. We already
- know by now that
-
- \list
- \o \bold {PluginManager::allObjects()} returns the object pool as a \bold {QList<QObject*>}
- \o Connecting to \bold {PluginManager::objectAdded()} signal helps in known objects as they get registered
- \endlist
-
- Using both of the above mentioned methods you can look for objects. Lets now understand yet another way to find
- objects.
-
- Suppose that you wanted to look for objects that implement the \bold {INavigationWidgetFactory} interface and show it in a
- \bold {QListWidget}. You can make use of the \bold {PluginManager::getObjects<T>()} method for this purpose. The following code
- snippet explains this
-
- \code
- ExtensionSystem::PluginManager* pm = ExtensionSystem::PluginManager::instance();
- QList<Core::INavigationWidgetFactory*> objects = pm->getObjects<Core::INavigationWidgetFactory>();
- QListWidget* listWidget = new QListWidget();
-
- Q_FOREACH(Core::INavigationWidgetFactory* obj, objects)
- {
- QString objInfo = QString("%1 (%2)").arg(obj->displayName()).arg(obj->metaObject()->className());
- listWidget->addItem(objInfo);
- }
- \endcode
-
- When the list widget is shown you will notice that the navigation widgets are shown in the same order as they are
- shown in the navigation combo box. Take a look at the screenshot below.
-
- \inlineimage qtc-nevigationwidget-4.png
-
-
- \section1 4.3 Aggregations
-
- Aggregations are provided by the \bold {Aggregation} namespace. It adds functionality for "glueing" \bold {QObjects} of different
- types together, so you can "cast" between them. Using the classes and methods in this namespace you can bundle
- related objects into a single entity. Objects that are bundled into an aggregate can be "cast" from the aggregate into the
- object class type.
-
- \section2 4.3.1 Aggregations - the old fashioned way
-
- Suppose that you wanted an object that provided implementations of two interfaces. Normally we would go about
- coding the object like this.
-
- \code
- class Interface1
- {
- ....
- };
- Q_DECLARE_INTERFACE("Interface1", "Interface1");
-
- class Interface2
- {
- ....
- };
- Q_DECLARE_INTERFACE("Interface2", "Interface2");
-
- class Bundle : public QObject,public Interface1,public Interface2
- {
- Q_OBJECT(Interface1 Interface2)
- ....
- };
- Bundle bundle;
-
- \endcode
-
- Now we can think of \bold {bundle} as an object that provides \bold {Interface1} and \bold {Interface2} implementations. We can
- make use of casting operators on the bundle object to extract \bold{Interface1} and \bold {Interface2}.
-
- \code
- Interface1* iface1Ptr = qobject_cast<Interface1*>(&bundle);
- Interface2* iface2Ptr = qobject_cast<Interface2*>(&bundle);
- \endcode
-
- \section2 4.3.2 Aggregations - the Qt Creator way
-
- Qt Creator's Aggregation library offers a cleaner way to define interfaces and bundle them into a single object. Instances
- of Aggregation::Aggregate can be created and objects can be added to it. Each of the objects added to the aggregation
- can implement an interface. The following code snippet shows how to create an aggregation.
-
- \code
-
- #include <aggregation/aggregate.h>
-
- class Interface1 : public QObject
- {
- Q_OBJECT
-
- public:
- Interface1() { }
- ~Interface1() { }
- };
-
- class Interface2 : public QObject
- {
- Q_OBJECT
-
- public:
- Interface2() { }
- ~Interface2() { }
- };
-
- Aggregation::Aggregate bundle;
- bundle.add(new Interface1);
- bundle.add(new Interface2);
-
- \endcode
-
- The aggregation instance "bundle" now conceptually contains implementations of two interfaces. To extract the
- interfaces we can make use of the following code
-
- \code
- Interface1* iface1Ptr = Aggregation::query<Interface1>( &bundle );
- Interface2* iface2Ptr = Aggregation::query<Interface2>( &bundle );
- \endcode
-
- With aggregation you can also several objects of the same interface into a single bundle. For example
-
- \code
- Aggregation::Aggregate bundle;
- bundle.add(new Interface1);
- bundle.add(new Interface2);
- bundle.add(new Interface1);
- bundle.add(new Interface1);
- QList<Interface1*> iface1Ptrs = Aggregation::query_all<Interface1>( &bundle );
- \endcode
-
- Another key advantage of Aggregation is that, you can delete any one of the objects in the bundle to delete the whole
- bundle. Example
-
- \code
- Aggregation::Aggregate* bundle = new Aggregation::Aggregate;
- bundle->add(new Interface1);
- bundle->add(new Interface2);
- Interface1* iface1Ptr = Aggregation::query<Interface1>(bundle);
- delete iface1Ptr;
- // deletes the bundle and all objects in it
- // same as delete bundle
- \endcode
-
- The use of aggregation will become clearer when we deal with real plugin examples in the coming chapters.
-*/
diff --git a/doc/pluginhowto/qtc-project-plugin.qdoc b/doc/pluginhowto/qtc-project-plugin.qdoc
deleted file mode 100644
index 09fa8a39e8..0000000000
--- a/doc/pluginhowto/qtc-project-plugin.qdoc
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- \page qtc-project-plugin.html
- \title 3. Creating plugins using Qt Creator
-
- This page needs to be written still!
-*/
diff --git a/doc/pluginhowto/qtcreator-compile.qdoc b/doc/pluginhowto/qtcreator-compile.qdoc
deleted file mode 100644
index 678829196f..0000000000
--- a/doc/pluginhowto/qtcreator-compile.qdoc
+++ /dev/null
@@ -1,25 +0,0 @@
-/*!
- \page qtcreator-compile.html
- \title 1. Compiling Qt Creator
-
-To start with building Qt creator, you need to get the Qt Creator source. The Qt Creator source is avaiable
-from the following locations:
-\list
-\o Nokia Website: \l {http://qt.nokia.com/downloads}
-\o GIT Repository: \l {http://qt.gitorious.org/qt-creator}
-\endlist
-It is recommended that you build Qt Creator in a separate directory.
-
-The following steps will guide you to get Qt Creator source compiled:
-\list
-\o Step 1: Create "build" directory inside main source directory
-\o Step 2: Run qmake ../qtcreator.pro -recursive command to get makefile.
-\o Step 3: Finally run make (or mingw32-make or nmake, depending on your platform).
-\endlist
-After successful compilation, you should be able to find \bold {qtcreator.exe} inside \bold {build/bin} directory.
-You can now launch Qt Creator.
-
-\bold {Note:}\underline{It is important that you compile Qt Creator from its sources. Otherwise you wont be able to write
-and test plugins for Qt Creator}.
-
-*/
diff --git a/doc/pluginhowto/qtcreator-pluginhowto.qdoc b/doc/pluginhowto/qtcreator-pluginhowto.qdoc
deleted file mode 100644
index 4cd182dba1..0000000000
--- a/doc/pluginhowto/qtcreator-pluginhowto.qdoc
+++ /dev/null
@@ -1,28 +0,0 @@
-/*!
- \page index.html
- \title Qt Creator Plugin HOWTO
-
- Qt Creator is not only a great developer tool, it is also a tool
- can accomodate plugins to help......
-
- Qt Creator plugin development can be understood by going through
- the following chapters in this manual
-
- \list 1
- \o \l {qtcreator-compile.html} {Compiling Qt Creator}
- \o \l {first-plugin.html} {First Plugin}
- \o \l {qtc-project-plugin.html} {Creating plugins using Qt Creator}
- \o \l {qtc-arch.html} {Qt Creator Architecture}
- \o \l {menu.html} {Adding menu and menu-items}
- \o \l {nav-widget.html} {Adding Navigation Widget}
- \o \l {pref-pane.html} {Adding Preferences Pane}
- \o \l {project-file-wizard.html} {Project/File Wizards}
- \o \l {find-filter.html} {Find Filter}
- \o \l {editor-type.html} {Adding editor type}
- \o \l {progress.html} {Showing and reacting to progress information}
- \o \l {vcs.html} {Implementing version control system}
- \o \l {mode.html} {Adding a mode}
- \o \l {location-filter.html} {Adding location filter}
- \o \l {adv-find-filter.html} {Adding "advanced" find filter}
- \endlist
-*/
diff --git a/doc/pluginhowto/qtcreator-pluginhowto.qdocconf b/doc/pluginhowto/qtcreator-pluginhowto.qdocconf
deleted file mode 100644
index 08f945b8f3..0000000000
--- a/doc/pluginhowto/qtcreator-pluginhowto.qdocconf
+++ /dev/null
@@ -1,174 +0,0 @@
-# Run qdoc from the directory that contains this file.
-include(../config/qt-html-templates.qdocconf)
-
-project = Qt Creator Plugin HOWTO
-description = Qt Creator Plugin HOWTO Documentation
-
-headerdirs =
-sourcedirs = $SRCDIR
-imagedirs = $SRCDIR/images $SRCDIR/templates/images
-outputdir = $OUTDIR
-exampledirs = $SRCDIR
-indexes = ../qt.index
-
-include(../config/qt-defines.qdocconf)
-
-sources.fileextensions = *.qdoc
-
-# macros.qdocconf
-
-macro.aring.HTML = "&aring;"
-macro.Auml.HTML = "&Auml;"
-macro.author = "\\bold{Author:}"
-macro.br.HTML = "<br />"
-macro.BR.HTML = "<br />"
-macro.aacute.HTML = "&aacute;"
-macro.eacute.HTML = "&eacute;"
-macro.iacute.HTML = "&iacute;"
-macro.gui = "\\bold"
-macro.hr.HTML = "<hr />"
-macro.key = "\\bold"
-macro.menu = "\\bold"
-macro.note = "\\bold{Note:}"
-macro.oslash.HTML = "&oslash;"
-macro.ouml.HTML = "&ouml;"
-macro.QA = "\\e{Qt Assistant}"
-macro.QD = "\\e{Qt Designer}"
-macro.QL = "\\e{Qt Linguist}"
-macro.QC = "\\e{Qt Creator}"
-macro.QMLD = "\\e{Qt Quick Designer}"
-macro.QQV = "\\e{Qt QML Viewer}"
-macro.param = "\\e"
-macro.raisedaster.HTML = "<sup>*</sup>"
-macro.reg.HTML = "<sup>&reg;</sup>"
-macro.return = "Returns"
-macro.starslash = "\\c{*/}"
-macro.uuml.HTML = "&uuml;"
-macro.mdash.HTML = "&mdash;"
-
-# compat.qdocconf
-
-alias.i = e
-alias.include = input
-
-macro.0 = "\\\\0"
-macro.b = "\\\\b"
-macro.n = "\\\\n"
-macro.r = "\\\\r"
-macro.i = "\\o"
-macro.i11 = "\\o{1,1}"
-macro.i12 = "\\o{1,2}"
-macro.i13 = "\\o{1,3}"
-macro.i14 = "\\o{1,4}"
-macro.i15 = "\\o{1,5}"
-macro.i16 = "\\o{1,6}"
-macro.i17 = "\\o{1,7}"
-macro.i18 = "\\o{1,8}"
-macro.i19 = "\\o{1,9}"
-macro.i21 = "\\o{2,1}"
-macro.i31 = "\\o{3,1}"
-macro.i41 = "\\o{4,1}"
-macro.i51 = "\\o{5,1}"
-macro.i61 = "\\o{6,1}"
-macro.i71 = "\\o{7,1}"
-macro.i81 = "\\o{8,1}"
-macro.i91 = "\\o{9,1}"
-macro.img = "\\image"
-macro.endquote = "\\endquotation"
-spurious = "Missing comma in .*" \
- "Missing pattern .*"
-
-# Doxygen compatibility commands
-
-macro.see = "\\sa"
-macro.function = "\\fn"
-
-# qt-cpp-ignore.qdocconf
-
-Cpp.ignoretokens = QAXFACTORY_EXPORT \
- QDESIGNER_COMPONENTS_LIBRARY \
- QDESIGNER_EXTENSION_LIBRARY \
- QDESIGNER_SDK_LIBRARY \
- QDESIGNER_SHARED_LIBRARY \
- QDESIGNER_UILIB_LIBRARY \
- QM_EXPORT_CANVAS \
- QM_EXPORT_DNS \
- QM_EXPORT_DOM \
- QM_EXPORT_FTP \
- QM_EXPORT_HTTP \
- QM_EXPORT_ICONVIEW \
- QM_EXPORT_NETWORK \
- QM_EXPORT_OPENGL \
- QM_EXPORT_SQL \
- QM_EXPORT_TABLE \
- QM_EXPORT_WORKSPACE \
- QM_EXPORT_XML \
- QT_ASCII_CAST_WARN \
- QT_ASCII_CAST_WARN_CONSTRUCTOR \
- QT_BEGIN_HEADER \
- QT_DESIGNER_STATIC \
- QT_END_HEADER \
- QT_FASTCALL \
- QT_WIDGET_PLUGIN_EXPORT \
- Q_COMPAT_EXPORT \
- Q_CORE_EXPORT \
- Q_EXPLICIT \
- Q_EXPORT \
- Q_EXPORT_CODECS_CN \
- Q_EXPORT_CODECS_JP \
- Q_EXPORT_CODECS_KR \
- Q_EXPORT_PLUGIN \
- Q_GFX_INLINE \
- Q_GUI_EXPORT \
- Q_GUI_EXPORT_INLINE \
- Q_GUI_EXPORT_STYLE_CDE \
- Q_GUI_EXPORT_STYLE_COMPACT \
- Q_GUI_EXPORT_STYLE_MAC \
- Q_GUI_EXPORT_STYLE_MOTIF \
- Q_GUI_EXPORT_STYLE_MOTIFPLUS \
- Q_GUI_EXPORT_STYLE_PLATINUM \
- Q_GUI_EXPORT_STYLE_POCKETPC \
- Q_GUI_EXPORT_STYLE_SGI \
- Q_GUI_EXPORT_STYLE_WINDOWS \
- Q_GUI_EXPORT_STYLE_WINDOWSXP \
- QHELP_EXPORT \
- Q_INLINE_TEMPLATE \
- Q_INTERNAL_WIN_NO_THROW \
- Q_NETWORK_EXPORT \
- Q_OPENGL_EXPORT \
- Q_OUTOFLINE_TEMPLATE \
- Q_SQL_EXPORT \
- Q_SVG_EXPORT \
- Q_SCRIPT_EXPORT \
- Q_TESTLIB_EXPORT \
- Q_TYPENAME \
- Q_XML_EXPORT \
- Q_XMLSTREAM_EXPORT \
- Q_XMLPATTERNS_EXPORT \
- QDBUS_EXPORT \
- QT_BEGIN_NAMESPACE \
- QT_BEGIN_INCLUDE_NAMESPACE \
- QT_END_NAMESPACE \
- QT_END_INCLUDE_NAMESPACE \
- PHONON_EXPORT \
- EXTENSIONSYSTEM_EXPORT
-Cpp.ignoredirectives = Q_DECLARE_HANDLE \
- Q_DECLARE_INTERFACE \
- Q_DECLARE_METATYPE \
- Q_DECLARE_OPERATORS_FOR_FLAGS \
- Q_DECLARE_PRIVATE \
- Q_DECLARE_PUBLIC \
- Q_DECLARE_SHARED \
- Q_DECLARE_TR_FUNCTIONS \
- Q_DECLARE_TYPEINFO \
- Q_DISABLE_COPY \
- QT_FORWARD_DECLARE_CLASS \
- Q_DUMMY_COMPARISON_OPERATOR \
- Q_ENUMS \
- Q_FLAGS \
- Q_INTERFACES \
- __attribute__ \
- K_DECLARE_PRIVATE \
- PHONON_OBJECT \
- PHONON_HEIR
-
diff --git a/doc/pluginhowto/templates/images/api_examples.png b/doc/pluginhowto/templates/images/api_examples.png
deleted file mode 100755
index 1fcbc96bd1..0000000000
--- a/doc/pluginhowto/templates/images/api_examples.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/api_lookup.png b/doc/pluginhowto/templates/images/api_lookup.png
deleted file mode 100755
index 1cffd5e352..0000000000
--- a/doc/pluginhowto/templates/images/api_lookup.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/api_topics.png b/doc/pluginhowto/templates/images/api_topics.png
deleted file mode 100755
index a76a6c3ed2..0000000000
--- a/doc/pluginhowto/templates/images/api_topics.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/arrow_down.png b/doc/pluginhowto/templates/images/arrow_down.png
deleted file mode 100644
index 9d01e97f6a..0000000000
--- a/doc/pluginhowto/templates/images/arrow_down.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_l.png b/doc/pluginhowto/templates/images/bg_l.png
deleted file mode 100755
index 95470c78cc..0000000000
--- a/doc/pluginhowto/templates/images/bg_l.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_l_blank.png b/doc/pluginhowto/templates/images/bg_l_blank.png
deleted file mode 100755
index e0eca3f1c3..0000000000
--- a/doc/pluginhowto/templates/images/bg_l_blank.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_ll.png b/doc/pluginhowto/templates/images/bg_ll.png
deleted file mode 100755
index 99796e7b5f..0000000000
--- a/doc/pluginhowto/templates/images/bg_ll.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_ll_blank.png b/doc/pluginhowto/templates/images/bg_ll_blank.png
deleted file mode 100755
index 95a1c45e04..0000000000
--- a/doc/pluginhowto/templates/images/bg_ll_blank.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_lr.png b/doc/pluginhowto/templates/images/bg_lr.png
deleted file mode 100755
index fef1d17bbe..0000000000
--- a/doc/pluginhowto/templates/images/bg_lr.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_r.png b/doc/pluginhowto/templates/images/bg_r.png
deleted file mode 100755
index 42a35a546f..0000000000
--- a/doc/pluginhowto/templates/images/bg_r.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_ul.png b/doc/pluginhowto/templates/images/bg_ul.png
deleted file mode 100755
index 303181f18f..0000000000
--- a/doc/pluginhowto/templates/images/bg_ul.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_ul_blank.png b/doc/pluginhowto/templates/images/bg_ul_blank.png
deleted file mode 100755
index 70512614cc..0000000000
--- a/doc/pluginhowto/templates/images/bg_ul_blank.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_ur.png b/doc/pluginhowto/templates/images/bg_ur.png
deleted file mode 100755
index bfa51a4cee..0000000000
--- a/doc/pluginhowto/templates/images/bg_ur.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bg_ur_blank.png b/doc/pluginhowto/templates/images/bg_ur_blank.png
deleted file mode 100755
index 57799616c0..0000000000
--- a/doc/pluginhowto/templates/images/bg_ur_blank.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/box_bg.png b/doc/pluginhowto/templates/images/box_bg.png
deleted file mode 100755
index 232655a818..0000000000
--- a/doc/pluginhowto/templates/images/box_bg.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/breadcrumb.png b/doc/pluginhowto/templates/images/breadcrumb.png
deleted file mode 100755
index f0571ce1b5..0000000000
--- a/doc/pluginhowto/templates/images/breadcrumb.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bullet_dn.png b/doc/pluginhowto/templates/images/bullet_dn.png
deleted file mode 100644
index f7762472e2..0000000000
--- a/doc/pluginhowto/templates/images/bullet_dn.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bullet_gt.png b/doc/pluginhowto/templates/images/bullet_gt.png
deleted file mode 100755
index 88759256ce..0000000000
--- a/doc/pluginhowto/templates/images/bullet_gt.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bullet_sq.png b/doc/pluginhowto/templates/images/bullet_sq.png
deleted file mode 100755
index db85ee3400..0000000000
--- a/doc/pluginhowto/templates/images/bullet_sq.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/bullet_up.png b/doc/pluginhowto/templates/images/bullet_up.png
deleted file mode 100644
index 285e7411b4..0000000000
--- a/doc/pluginhowto/templates/images/bullet_up.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/content_bg.png b/doc/pluginhowto/templates/images/content_bg.png
deleted file mode 100755
index 416397d047..0000000000
--- a/doc/pluginhowto/templates/images/content_bg.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/feedbackground.png b/doc/pluginhowto/templates/images/feedbackground.png
deleted file mode 100755
index 3a38d995d7..0000000000
--- a/doc/pluginhowto/templates/images/feedbackground.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/form_bg.png b/doc/pluginhowto/templates/images/form_bg.png
deleted file mode 100755
index bf2ee54464..0000000000
--- a/doc/pluginhowto/templates/images/form_bg.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/header.png b/doc/pluginhowto/templates/images/header.png
deleted file mode 100644
index 3c68d9c525..0000000000
--- a/doc/pluginhowto/templates/images/header.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/header_bg.png b/doc/pluginhowto/templates/images/header_bg.png
deleted file mode 100644
index a436aa61ef..0000000000
--- a/doc/pluginhowto/templates/images/header_bg.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/horBar.png b/doc/pluginhowto/templates/images/horBar.png
deleted file mode 100755
index 100fe91c6c..0000000000
--- a/doc/pluginhowto/templates/images/horBar.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/page.png b/doc/pluginhowto/templates/images/page.png
deleted file mode 100644
index 1db151bd31..0000000000
--- a/doc/pluginhowto/templates/images/page.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/page_bg.png b/doc/pluginhowto/templates/images/page_bg.png
deleted file mode 100755
index fb7d051a28..0000000000
--- a/doc/pluginhowto/templates/images/page_bg.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/print.png b/doc/pluginhowto/templates/images/print.png
deleted file mode 100755
index 4581da1870..0000000000
--- a/doc/pluginhowto/templates/images/print.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/qt_guide.png b/doc/pluginhowto/templates/images/qt_guide.png
deleted file mode 100755
index 9f53a052eb..0000000000
--- a/doc/pluginhowto/templates/images/qt_guide.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/qt_icon.png b/doc/pluginhowto/templates/images/qt_icon.png
deleted file mode 100755
index fbaee35843..0000000000
--- a/doc/pluginhowto/templates/images/qt_icon.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/qt_ref_doc.png b/doc/pluginhowto/templates/images/qt_ref_doc.png
deleted file mode 100755
index 141488b860..0000000000
--- a/doc/pluginhowto/templates/images/qt_ref_doc.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/qt_tools.png b/doc/pluginhowto/templates/images/qt_tools.png
deleted file mode 100755
index cc24179819..0000000000
--- a/doc/pluginhowto/templates/images/qt_tools.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/sep.png b/doc/pluginhowto/templates/images/sep.png
deleted file mode 100755
index c895646f23..0000000000
--- a/doc/pluginhowto/templates/images/sep.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/spinner.gif b/doc/pluginhowto/templates/images/spinner.gif
deleted file mode 100644
index 1ed786f2ec..0000000000
--- a/doc/pluginhowto/templates/images/spinner.gif
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/images/sprites-combined.png b/doc/pluginhowto/templates/images/sprites-combined.png
deleted file mode 100644
index 3a48b21f6b..0000000000
--- a/doc/pluginhowto/templates/images/sprites-combined.png
+++ /dev/null
Binary files differ
diff --git a/doc/pluginhowto/templates/scripts/functions.js b/doc/pluginhowto/templates/scripts/functions.js
deleted file mode 100644
index 58a0248591..0000000000
--- a/doc/pluginhowto/templates/scripts/functions.js
+++ /dev/null
@@ -1,192 +0,0 @@
-/* START non link areas where cursor should change to pointing hand */
-$('.t_button').mouseover(function() {
- $('.t_button').css('cursor','pointer');
- /*document.getElementById(this.id).style.cursor='pointer';*/
-});
-/* END non link areas */
-$('#smallA').click(function() {
- $('.content .heading,.content h1, .content h2, .content h3, .content p, .content li, .content table').css('font-size','smaller');
- $('.t_button').removeClass('active')
- $(this).addClass('active')
-});
-
-$('#medA').click(function() {
- $('.content .heading').css('font','600 16px/1 Arial');
- $('.content h1').css('font','600 18px/1.2 Arial');
- $('.content h2').css('font','600 16px/1.2 Arial');
- $('.content h3').css('font','600 14px/1.2 Arial');
- $('.content p').css('font','13px/20px Verdana');
- $('.content li').css('font','400 13px/1 Verdana');
- $('.content li').css('line-height','14px');
- $('.content .toc li').css('font', 'normal 10px/1.2 Verdana');
- $('.content table').css('font','13px/1.2 Verdana');
- $('.content .heading').css('font','600 16px/1 Arial');
- $('.content .indexboxcont li').css('font','600 13px/1 Verdana');
- $('.t_button').removeClass('active')
- $(this).addClass('active')
-});
-
-$('#bigA').click(function() {
- $('.content .heading,.content h1, .content h2, .content h3, .content p, .content li, .content table').css('font-size','large');
- $('.content .heading,.content h1, .content h2, .content h3, .content p, .content li, .content table').css('line-height','25px');
- $('.t_button').removeClass('active')
- $(this).addClass('active')
-});
-
-$('.feedclose').click(function() {
- $('.bd').show();
- $('.hd').show();
- $('.footer').show();
- $('#feedbackBox').hide();
- $('#blurpage').hide();
-});
-
-$('.feedback').click(function() {
- $('.bd').hide();
- $('.hd').hide();
- $('.footer').hide();
- $('#feedbackBox').show();
- $('#blurpage').show();
-});
-var lookupCount = 0;
-var articleCount = 0;
-var exampleCount = 0;
-var qturl = ""; // change from "http://doc.qt.nokia.com/4.6/" to 0 so we can have relative links
-
-function processNokiaData(response){
- var propertyTags = response.getElementsByTagName('page');
-
- for (var i=0; i< propertyTags.length; i++) {
- var linkStart = "<li class=\"liveResult\"><a href='"+qturl+"";
- var linkEnd = "</a></li>";
-
- if(propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'APIPage'){
- lookupCount++;
-
-
- for (var j=0; j< propertyTags[i].getElementsByTagName('pageWords').length; j++){
- full_li_element = linkStart + propertyTags[i].getElementsByTagName('pageUrl')[j].firstChild.nodeValue;
- full_li_element = full_li_element + "'>" + propertyTags[i].getElementsByTagName('pageTitle')[0].firstChild.nodeValue + linkEnd;
-
- $('#ul001').append(full_li_element);
- $('#ul001 .defaultLink').css('display','none');
-
- }
- }
-
- if(propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Article'){
- articleCount++;
-
-
- for (var j=0; j< propertyTags[i].getElementsByTagName('pageWords').length; j++){
- full_li_element = linkStart + propertyTags[i].getElementsByTagName('pageUrl')[j].firstChild.nodeValue;
- full_li_element =full_li_element + "'>" + propertyTags[i].getElementsByTagName('pageTitle')[0].firstChild.nodeValue + linkEnd ;
-
- $('#ul002').append(full_li_element);
- $('#ul002 .defaultLink').css('display','none');
-
- }
- }
- if(propertyTags[i].getElementsByTagName('pageType')[0].firstChild.nodeValue == 'Example'){
- exampleCount++;
-
-
- for (var j=0; j< propertyTags[i].getElementsByTagName('pageWords').length; j++){
- full_li_element = linkStart + propertyTags[i].getElementsByTagName('pageUrl')[j].firstChild.nodeValue;
- full_li_element =full_li_element + "'>" + propertyTags[i].getElementsByTagName('pageTitle')[0].firstChild.nodeValue + linkEnd ;
-
- $('#ul003').append(full_li_element);
- $('#ul003 .defaultLink').css('display','none');
-
- }
- }
- if(i==propertyTags.length){$('#pageType').removeClass('loading');}
-
- }
-
- if(lookupCount == 0){$('#ul001').prepend('<li class=\"liveResult noMatch\">Found no result</li>');$('#ul001 li').css('display','block');$('.sidebar .search form input').removeClass('loading');}
- if(articleCount == 0){$('#ul002').prepend('<li class=\"liveResult noMatch\">Found no result</li>');$('#ul002 li').css('display','block');}
- if(exampleCount == 0){$('#ul003').prepend('<li class=\"liveResult noMatch\">Found no result</li>');$('#ul003 li').css('display','block');}
- // reset count variables;
- lookupCount=0;
- articleCount = 0;
- exampleCount = 0;
-
-}
-//build regular expression object to find empty string or any number of blank
-var blankRE=/^\s*$/;
-function CheckEmptyAndLoadList()
-{
- var pageUrl = window.location.href;
- var pageVal = $('title').html();
- $('#feedUrl').remove();
- $('#pageVal').remove();
- $('#feedform').append('<input id="feedUrl" name="feedUrl" value="'+pageUrl+'" style="display:none;">');
- $('#feedform').append('<input id="pageVal" name="pageVal" value="'+pageVal+'" style="display:none;">');
- $('.liveResult').remove();
- $('.defaultLink').css('display','block');
- var value = document.getElementById('pageType').value;
- if((blankRE.test(value)) || (value.length < 3))
- {
- //empty inputbox
- // load default li elements into the ul if empty
- // loadAllList(); // replaced
- $('.defaultLink').css('display','block');
- // $('.liveResult').css('display','none');
- }else{
- $('.defaultLink').css('display','none');
- }
-}
-/*
-$(window).resize(function(){
-if($(window).width()<400)
- $('body').addClass('offline');
-else
- $('body').removeClass('offline');
- });
- */
-// Loads on doc ready
- $(document).ready(function () {
- //alert(pageUrl);
- //$('#pageUrl').attr('foo',pageUrl);
- var pageTitle = $('title').html();
- var currentString = $('#pageType').val() ;
- if(currentString.length < 1){
- $('.defaultLink').css('display','block');
- CheckEmptyAndLoadList();
- }
-
- $('#pageType').keyup(function () {
- var searchString = $('#pageType').val() ;
- if ((searchString == null) || (searchString.length < 3)) {
- $('#pageType').removeClass('loading');
- $('.liveResult').remove(); // replaces removeResults();
- CheckEmptyAndLoadList();
- $('.report').remove();
- // debug$('.content').prepend('<li>too short or blank</li>'); // debug
- return;
- }
- if (this.timer) clearTimeout(this.timer);
- this.timer = setTimeout(function () {
- $('#pageType').addClass('loading');
- // debug$('.content').prepend('<li>new search started </li>');// debug
- // debug$('.content').prepend('<p class=\"report\">Search string ' +searchString +'</p>'); // debug
-
- $.ajax({
- contentType: "application/x-www-form-urlencoded",
- url: 'http://' + location.host + '/nokiasearch/GetDataServlet',
- data: 'searchString='+searchString,
- dataType:'xml',
- type: 'post',
- success: function (response, textStatus) {
-
- $('.liveResult').remove(); // replaces removeResults();
- $('#pageType').removeClass('loading');
-
- processNokiaData(response);
-
- }
- });
- }, 500);
- });
- });
diff --git a/doc/pluginhowto/templates/scripts/jquery.js b/doc/pluginhowto/templates/scripts/jquery.js
deleted file mode 100644
index 0c7294c90a..0000000000
--- a/doc/pluginhowto/templates/scripts/jquery.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.1
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Mon Jan 25 19:43:33 2010 -0500
- */
-(function(z,v){function la(){if(!c.isReady){try{r.documentElement.doScroll("left")}catch(a){setTimeout(la,1);return}c.ready()}}function Ma(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,i){var j=a.length;if(typeof b==="object"){for(var n in b)X(a,n,b[n],f,e,d);return a}if(d!==v){f=!i&&f&&c.isFunction(d);for(n=0;n<j;n++)e(a[n],b,f?d.call(a[n],n,e(a[n],b)):d,i);return a}return j?
-e(a[0],b):null}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function ma(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function na(a){var b,d=[],f=[],e=arguments,i,j,n,o,m,s,x=c.extend({},c.data(this,"events").live);if(!(a.button&&a.type==="click")){for(o in x){j=x[o];if(j.live===a.type||j.altLive&&c.inArray(a.type,j.altLive)>-1){i=j.data;i.beforeFilter&&i.beforeFilter[a.type]&&!i.beforeFilter[a.type](a)||f.push(j.selector)}else delete x[o]}i=c(a.target).closest(f,
-a.currentTarget);m=0;for(s=i.length;m<s;m++)for(o in x){j=x[o];n=i[m].elem;f=null;if(i[m].selector===j.selector){if(j.live==="mouseenter"||j.live==="mouseleave")f=c(a.relatedTarget).closest(j.selector)[0];if(!f||f!==n)d.push({elem:n,fn:j})}}m=0;for(s=d.length;m<s;m++){i=d[m];a.currentTarget=i.elem;a.data=i.fn.data;if(i.fn.apply(i.elem,e)===false){b=false;break}}return b}}function oa(a,b){return"live."+(a?a+".":"")+b.replace(/\./g,"`").replace(/ /g,"&")}function pa(a){return!a||!a.parentNode||a.parentNode.nodeType===
-11}function qa(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var i in f)for(var j in f[i])c.event.add(this,i,f[i][j],f[i][j].data)}}})}function ra(a,b,d){var f,e,i;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&a[0].indexOf("<option")<0&&(c.support.checkClone||!sa.test(a[0]))){e=true;if(i=c.fragments[a[0]])if(i!==1)f=i}if(!f){b=b&&b[0]?b[0].ownerDocument||b[0]:r;f=b.createDocumentFragment();
-c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=i?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(ta.concat.apply([],ta.slice(0,b)),function(){d[this]=a});return d}function ua(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Na=z.jQuery,Oa=z.$,r=z.document,S,Pa=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Qa=/^.[^:#\[\.,]*$/,Ra=/\S/,Sa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Ta=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,O=navigator.userAgent,
-va=false,P=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,Q=Array.prototype.slice,wa=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(typeof a==="string")if((d=Pa.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:r;if(a=Ta.exec(a))if(c.isPlainObject(b)){a=[r.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=ra([d[1]],
-[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}}else{if(b=r.getElementById(d[2])){if(b.id!==d[2])return S.find(a);this.length=1;this[0]=b}this.context=r;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=r;a=r.getElementsByTagName(a)}else return!b||b.jquery?(b||S).find(a):c(b).find(a);else if(c.isFunction(a))return S.ready(a);if(a.selector!==v){this.selector=a.selector;this.context=a.context}return c.isArray(a)?this.setArray(a):c.makeArray(a,
-this)},selector:"",jquery:"1.4.1",length:0,size:function(){return this.length},toArray:function(){return Q.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){a=c(a||null);a.prevObject=this;a.context=this.context;if(b==="find")a.selector=this.selector+(this.selector?" ":"")+d;else if(b)a.selector=this.selector+"."+b+"("+d+")";return a},setArray:function(a){this.length=0;ba.apply(this,a);return this},each:function(a,b){return c.each(this,
-a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(r,c);else P&&P.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(Q.apply(this,arguments),"slice",Q.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};
-c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,i,j,n;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(i in e){j=a[i];n=e[i];if(a!==n)if(f&&n&&(c.isPlainObject(n)||c.isArray(n))){j=j&&(c.isPlainObject(j)||c.isArray(j))?j:c.isArray(n)?[]:{};a[i]=c.extend(f,j,n)}else if(n!==v)a[i]=n}return a};c.extend({noConflict:function(a){z.$=
-Oa;if(a)z.jQuery=Na;return c},isReady:false,ready:function(){if(!c.isReady){if(!r.body)return setTimeout(c.ready,13);c.isReady=true;if(P){for(var a,b=0;a=P[b++];)a.call(r,c);P=null}c.fn.triggerHandler&&c(r).triggerHandler("ready")}},bindReady:function(){if(!va){va=true;if(r.readyState==="complete")return c.ready();if(r.addEventListener){r.addEventListener("DOMContentLoaded",L,false);z.addEventListener("load",c.ready,false)}else if(r.attachEvent){r.attachEvent("onreadystatechange",L);z.attachEvent("onload",
-c.ready);var a=false;try{a=z.frameElement==null}catch(b){}r.documentElement.doScroll&&a&&la()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,"isPrototypeOf"))return false;var b;for(b in a);return b===v||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;
-return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return z.JSON&&z.JSON.parse?z.JSON.parse(a):(new Function("return "+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Ra.test(a)){var b=r.getElementsByTagName("head")[0]||
-r.documentElement,d=r.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(r.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,i=a.length,j=i===v||c.isFunction(a);if(d)if(j)for(f in a){if(b.apply(a[f],d)===false)break}else for(;e<i;){if(b.apply(a[e++],d)===false)break}else if(j)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=
-a[0];e<i&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Sa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==
-v;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,i=a.length;e<i;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,i=0,j=a.length;i<j;i++){e=b(a[i],i,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=v}else if(b&&!c.isFunction(b)){d=b;b=v}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},
-uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});O=c.uaMatch(O);if(O.browser){c.browser[O.browser]=true;c.browser.version=O.version}if(c.browser.webkit)c.browser.safari=true;if(wa)c.inArray=function(a,b){return wa.call(b,a)};S=c(r);if(r.addEventListener)L=function(){r.removeEventListener("DOMContentLoaded",
-L,false);c.ready()};else if(r.attachEvent)L=function(){if(r.readyState==="complete"){r.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=r.documentElement,b=r.createElement("script"),d=r.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=d.getElementsByTagName("*"),i=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!i)){c.support=
-{leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(i.getAttribute("style")),hrefNormalized:i.getAttribute("href")==="/a",opacity:/^0.55$/.test(i.style.opacity),cssFloat:!!i.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:r.createElement("select").appendChild(r.createElement("option")).selected,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};
-b.type="text/javascript";try{b.appendChild(r.createTextNode("window."+f+"=1;"))}catch(j){}a.insertBefore(b,a.firstChild);if(z[f]){c.support.scriptEval=true;delete z[f]}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function n(){c.support.noCloneEvent=false;d.detachEvent("onclick",n)});d.cloneNode(true).fireEvent("onclick")}d=r.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=r.createDocumentFragment();a.appendChild(d.firstChild);
-c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var n=r.createElement("div");n.style.width=n.style.paddingLeft="1px";r.body.appendChild(n);c.boxModel=c.support.boxModel=n.offsetWidth===2;r.body.removeChild(n).style.display="none"});a=function(n){var o=r.createElement("div");n="on"+n;var m=n in o;if(!m){o.setAttribute(n,"return;");m=typeof o[n]==="function"}return m};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=i=null}})();c.props=
-{"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ua=0,xa={},Va={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==z?xa:a;var f=a[G],e=c.cache;if(!b&&!f)return null;f||(f=++Ua);if(typeof b==="object"){a[G]=f;e=e[f]=c.extend(true,
-{},b)}else e=e[f]?e[f]:typeof d==="undefined"?Va:(e[f]={});if(d!==v){a[G]=f;e[b]=d}return typeof b==="string"?e[b]:e}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==z?xa:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{try{delete a[G]}catch(i){a.removeAttribute&&a.removeAttribute(G)}delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,
-a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===v){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===v&&this.length)f=c.data(this[0],a);return f===v&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);
-return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===v)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||
-a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var ya=/[\n\t]/g,ca=/\s+/,Wa=/\r/g,Xa=/href|src|style/,Ya=/(button|input)/i,Za=/(button|input|object|select|textarea)/i,$a=/^(a|area)$/i,za=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(o){var m=
-c(this);m.addClass(a.call(this,o,m.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className)for(var i=" "+e.className+" ",j=0,n=b.length;j<n;j++){if(i.indexOf(" "+b[j]+" ")<0)e.className+=" "+b[j]}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var m=c(this);m.removeClass(a.call(this,o,m.attr("class")))});if(a&&typeof a==="string"||a===v)for(var b=(a||"").split(ca),
-d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var i=(" "+e.className+" ").replace(ya," "),j=0,n=b.length;j<n;j++)i=i.replace(" "+b[j]+" "," ");e.className=i.substring(1,i.length-1)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var i=c(this);i.toggleClass(a.call(this,e,i.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,i=0,j=c(this),n=b,o=
-a.split(ca);e=o[i++];){n=f?n:!j.hasClass(e);j[n?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(ya," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===v){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||
-{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var i=b?d:0;for(d=b?d+1:e.length;i<d;i++){var j=e[i];if(j.selected){a=c(j).val();if(b)return a;f.push(a)}}return f}if(za.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Wa,"")}return v}var n=c.isFunction(a);return this.each(function(o){var m=c(this),s=a;if(this.nodeType===1){if(n)s=a.call(this,o,m.val());
-if(typeof s==="number")s+="";if(c.isArray(s)&&za.test(this.type))this.checked=c.inArray(m.val(),s)>=0;else if(c.nodeName(this,"select")){var x=c.makeArray(s);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),x)>=0});if(!x.length)this.selectedIndex=-1}else this.value=s}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return v;if(f&&b in c.attrFn)return c(a)[b](d);
-f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==v;b=f&&c.props[b]||b;if(a.nodeType===1){var i=Xa.test(b);if(b in a&&f&&!i){if(e){b==="type"&&Ya.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:Za.test(a.nodeName)||$a.test(a.nodeName)&&a.href?0:v;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=
-""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&i?a.getAttribute(b,2):a.getAttribute(b);return a===null?v:a}return c.style(a,b,d)}});var ab=function(a){return a.replace(/[^\w\s\.\|`]/g,function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==z&&!a.frameElement)a=z;if(!d.guid)d.guid=c.guid++;if(f!==v){d=c.proxy(d);d.data=f}var e=c.data(a,"events")||c.data(a,"events",{}),i=c.data(a,"handle"),j;if(!i){j=
-function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(j.elem,arguments):v};i=c.data(a,"handle",j)}if(i){i.elem=a;b=b.split(/\s+/);for(var n,o=0;n=b[o++];){var m=n.split(".");n=m.shift();if(o>1){d=c.proxy(d);if(f!==v)d.data=f}d.type=m.slice(0).sort().join(".");var s=e[n],x=this.special[n]||{};if(!s){s=e[n]={};if(!x.setup||x.setup.call(a,f,m,d)===false)if(a.addEventListener)a.addEventListener(n,i,false);else a.attachEvent&&a.attachEvent("on"+n,i)}if(x.add)if((m=x.add.call(a,
-d,f,m,s))&&c.isFunction(m)){m.guid=m.guid||d.guid;m.data=m.data||d.data;m.type=m.type||d.type;d=m}s[d.guid]=d;this.global[n]=true}a=null}}},global:{},remove:function(a,b,d){if(!(a.nodeType===3||a.nodeType===8)){var f=c.data(a,"events"),e,i,j;if(f){if(b===v||typeof b==="string"&&b.charAt(0)===".")for(i in f)this.remove(a,i+(b||""));else{if(b.type){d=b.handler;b=b.type}b=b.split(/\s+/);for(var n=0;i=b[n++];){var o=i.split(".");i=o.shift();var m=!o.length,s=c.map(o.slice(0).sort(),ab);s=new RegExp("(^|\\.)"+
-s.join("\\.(?:.*\\.)?")+"(\\.|$)");var x=this.special[i]||{};if(f[i]){if(d){j=f[i][d.guid];delete f[i][d.guid]}else for(var A in f[i])if(m||s.test(f[i][A].type))delete f[i][A];x.remove&&x.remove.call(a,o,j);for(e in f[i])break;if(!e){if(!x.teardown||x.teardown.call(a,o)===false)if(a.removeEventListener)a.removeEventListener(i,c.data(a,"handle"),false);else a.detachEvent&&a.detachEvent("on"+i,c.data(a,"handle"));e=null;delete f[i]}}}}for(e in f)break;if(!e){if(A=c.data(a,"handle"))A.elem=null;c.removeData(a,
-"events");c.removeData(a,"handle")}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();this.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return v;a.result=v;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,
-b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(i){}if(!a.isPropagationStopped()&&f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){d=a.target;var j;if(!(c.nodeName(d,"a")&&e==="click")&&!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()])){try{if(d[e]){if(j=d["on"+e])d["on"+e]=null;this.triggered=true;d[e]()}}catch(n){}if(j)d["on"+e]=j;this.triggered=false}}},handle:function(a){var b,
-d;a=arguments[0]=c.event.fix(a||z.event);a.currentTarget=this;d=a.type.split(".");a.type=d.shift();b=!d.length&&!a.exclusive;var f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)");d=(c.data(this,"events")||{})[a.type];for(var e in d){var i=d[e];if(b||f.test(i.type)){a.handler=i;a.data=i.data;i=i.apply(this,arguments);if(i!==v){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||r;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=r.documentElement;d=r.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==v)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a,b){c.extend(a,b||{});a.guid+=b.selector+b.live;b.liveProxy=a;c.event.add(this,b.live,na,b)},remove:function(a){if(a.length){var b=
-0,d=new RegExp("(^|\\.)"+a[0]+"(\\.|$)");c.each(c.data(this,"events").live||{},function(){d.test(this.type)&&b++});b<1&&c.event.remove(this,a[0],na)}},special:{}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};
-c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y};var Aa=function(a){for(var b=
-a.relatedTarget;b&&b!==this;)try{b=b.parentNode}catch(d){break}if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}},Ba=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ba:Aa,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ba:Aa)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(a,b,d){if(this.nodeName.toLowerCase()!==
-"form"){c.event.add(this,"click.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="submit"||i==="image")&&c(e).closest("form").length)return ma("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit."+d.guid,function(f){var e=f.target,i=e.type;if((i==="text"||i==="password")&&c(e).closest("form").length&&f.keyCode===13)return ma("submit",this,arguments)})}else return false},remove:function(a,b){c.event.remove(this,"click.specialSubmit"+(b?"."+b.guid:""));c.event.remove(this,
-"keypress.specialSubmit"+(b?"."+b.guid:""))}};if(!c.support.changeBubbles){var da=/textarea|input|select/i;function Ca(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d}function ea(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Ca(d);if(a.type!=="focusout"||
-d.type!=="radio")c.data(d,"_change_data",e);if(!(f===v||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}}c.event.special.change={filters:{focusout:ea,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return ea.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return ea.call(this,a)},beforeactivate:function(a){a=
-a.target;a.nodeName.toLowerCase()==="input"&&a.type==="radio"&&c.data(a,"_change_data",Ca(a))}},setup:function(a,b,d){for(var f in T)c.event.add(this,f+".specialChange."+d.guid,T[f]);return da.test(this.nodeName)},remove:function(a,b){for(var d in T)c.event.remove(this,d+".specialChange"+(b?"."+b.guid:""),T[d]);return da.test(this.nodeName)}};var T=c.event.special.change.filters}r.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,
-f)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var i in d)this[b](i,f,d[i],e);return this}if(c.isFunction(f)){e=f;f=v}var j=b==="one"?c.proxy(e,function(n){c(this).unbind(n,j);return e.apply(this,arguments)}):e;return d==="unload"&&b!=="one"?this.one(d,f,e):this.each(function(){c.event.add(this,d,j,f)})}});c.fn.extend({unbind:function(a,
-b){if(typeof a==="object"&&!a.preventDefault){for(var d in a)this.unbind(d,a[d]);return this}return this.each(function(){c.event.remove(this,a,b)})},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+
-a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e){var i,j=0;if(c.isFunction(f)){e=f;f=v}for(d=(d||"").split(/\s+/);(i=d[j++])!=null;){i=i==="focus"?"focusin":i==="blur"?"focusout":i==="hover"?d.push("mouseleave")&&"mouseenter":i;b==="live"?c(this.context).bind(oa(i,this.selector),{data:f,selector:this.selector,
-live:i},e):c(this.context).unbind(oa(i,this.selector),e?{guid:e.guid+this.selector+i}:null)}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});z.attachEvent&&!z.addEventListener&&z.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
-(function(){function a(g){for(var h="",k,l=0;g[l];l++){k=g[l];if(k.nodeType===3||k.nodeType===4)h+=k.nodeValue;else if(k.nodeType!==8)h+=a(k.childNodes)}return h}function b(g,h,k,l,q,p){q=0;for(var u=l.length;q<u;q++){var t=l[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===k){y=l[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=k;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}l[q]=y}}}function d(g,h,k,l,q,p){q=0;for(var u=l.length;q<u;q++){var t=l[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===
-k){y=l[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=k;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(o.filter(h,[t]).length>0){y=t;break}}t=t[g]}l[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,i=Object.prototype.toString,j=false,n=true;[0,0].sort(function(){n=false;return 0});var o=function(g,h,k,l){k=k||[];var q=h=h||r;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||
-typeof g!=="string")return k;for(var p=[],u,t,y,R,H=true,M=w(h),I=g;(f.exec(""),u=f.exec(I))!==null;){I=u[3];p.push(u[1]);if(u[2]){R=u[3];break}}if(p.length>1&&s.exec(g))if(p.length===2&&m.relative[p[0]])t=fa(p[0]+p[1],h);else for(t=m.relative[p[0]]?[h]:o(p.shift(),h);p.length;){g=p.shift();if(m.relative[g])g+=p.shift();t=fa(g,t)}else{if(!l&&p.length>1&&h.nodeType===9&&!M&&m.match.ID.test(p[0])&&!m.match.ID.test(p[p.length-1])){u=o.find(p.shift(),h,M);h=u.expr?o.filter(u.expr,u.set)[0]:u.set[0]}if(h){u=
-l?{expr:p.pop(),set:A(l)}:o.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=u.expr?o.filter(u.expr,u.set):u.set;if(p.length>0)y=A(t);else H=false;for(;p.length;){var D=p.pop();u=D;if(m.relative[D])u=p.pop();else D="";if(u==null)u=h;m.relative[D](y,u,M)}}else y=[]}y||(y=t);y||o.error(D||g);if(i.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))k.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&
-y[g].nodeType===1&&k.push(t[g]);else k.push.apply(k,y);else A(y,k);if(R){o(R,q,k,l);o.uniqueSort(k)}return k};o.uniqueSort=function(g){if(C){j=n;g.sort(C);if(j)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};o.matches=function(g,h){return o(g,null,null,h)};o.find=function(g,h,k){var l,q;if(!g)return[];for(var p=0,u=m.order.length;p<u;p++){var t=m.order[p];if(q=m.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");l=m.find[t](q,
-h,k);if(l!=null){g=g.replace(m.match[t],"");break}}}}l||(l=h.getElementsByTagName("*"));return{set:l,expr:g}};o.filter=function(g,h,k,l){for(var q=g,p=[],u=h,t,y,R=h&&h[0]&&w(h[0]);g&&h.length;){for(var H in m.filter)if((t=m.leftMatch[H].exec(g))!=null&&t[2]){var M=m.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(u===p)p=[];if(m.preFilter[H])if(t=m.preFilter[H](t,u,k,p,l,R)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=u[U])!=null;U++)if(D){I=M(D,t,U,u);var Da=
-l^!!I;if(k&&I!=null)if(Da)y=true;else u[U]=false;else if(Da){p.push(D);y=true}}if(I!==v){k||(u=p);g=g.replace(m.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)o.error(g);else break;q=g}return u};o.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var m=o.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
-TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,h){var k=typeof h==="string",l=k&&!/\W/.test(h);k=k&&!l;if(l)h=h.toLowerCase();l=0;for(var q=g.length,
-p;l<q;l++)if(p=g[l]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[l]=k||p&&p.nodeName.toLowerCase()===h?p||false:p===h}k&&o.filter(h,g,true)},">":function(g,h){var k=typeof h==="string";if(k&&!/\W/.test(h)){h=h.toLowerCase();for(var l=0,q=g.length;l<q;l++){var p=g[l];if(p){k=p.parentNode;g[l]=k.nodeName.toLowerCase()===h?k:false}}}else{l=0;for(q=g.length;l<q;l++)if(p=g[l])g[l]=k?p.parentNode:p.parentNode===h;k&&o.filter(h,g,true)}},"":function(g,h,k){var l=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=
-h=h.toLowerCase();q=b}q("parentNode",h,l,g,p,k)},"~":function(g,h,k){var l=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,l,g,p,k)}},find:{ID:function(g,h,k){if(typeof h.getElementById!=="undefined"&&!k)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var k=[];h=h.getElementsByName(g[1]);for(var l=0,q=h.length;l<q;l++)h[l].getAttribute("name")===g[1]&&k.push(h[l]);return k.length===0?null:k}},
-TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,k,l,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var u;(u=h[p])!=null;p++)if(u)if(q^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))k||l.push(u);else if(k)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&
-"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,k,l,q,p){h=g[1].replace(/\\/g,"");if(!p&&m.attrMap[h])g[1]=m.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,k,l,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=o(g[3],null,null,h);else{g=o.filter(g[3],h,k,true^q);k||l.push.apply(l,g);return false}else if(m.match.POS.test(g[0])||m.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);
-return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,k){return!!o(k[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===
-g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,h){return h===0},last:function(g,h,k,l){return h===l.length-1},even:function(g,h){return h%2===
-0},odd:function(g,h){return h%2===1},lt:function(g,h,k){return h<k[3]-0},gt:function(g,h,k){return h>k[3]-0},nth:function(g,h,k){return k[3]-0===h},eq:function(g,h,k){return k[3]-0===h}},filter:{PSEUDO:function(g,h,k,l){var q=h[1],p=m.filters[q];if(p)return p(g,k,h,l);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=h[3];k=0;for(l=h.length;k<l;k++)if(h[k]===g)return false;return true}else o.error("Syntax error, unrecognized expression: "+
-q)},CHILD:function(g,h){var k=h[1],l=g;switch(k){case "only":case "first":for(;l=l.previousSibling;)if(l.nodeType===1)return false;if(k==="first")return true;l=g;case "last":for(;l=l.nextSibling;)if(l.nodeType===1)return false;return true;case "nth":k=h[2];var q=h[3];if(k===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var u=0;for(l=p.firstChild;l;l=l.nextSibling)if(l.nodeType===1)l.nodeIndex=++u;p.sizcache=h}g=g.nodeIndex-q;return k===0?g===0:g%k===0&&g/k>=
-0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var k=h[1];g=m.attrHandle[k]?m.attrHandle[k](g):g[k]!=null?g[k]:g.getAttribute(k);k=g+"";var l=h[2];h=h[4];return g==null?l==="!=":l==="="?k===h:l==="*="?k.indexOf(h)>=0:l==="~="?(" "+k+" ").indexOf(h)>=0:!h?k&&g!==false:l==="!="?k!==h:l==="^="?
-k.indexOf(h)===0:l==="$="?k.substr(k.length-h.length)===h:l==="|="?k===h||k.substr(0,h.length+1)===h+"-":false},POS:function(g,h,k,l){var q=m.setFilters[h[2]];if(q)return q(g,k,h,l)}}},s=m.match.POS;for(var x in m.match){m.match[x]=new RegExp(m.match[x].source+/(?![^\[]*\])(?![^\(]*\))/.source);m.leftMatch[x]=new RegExp(/(^(?:.|\r|\n)*?)/.source+m.match[x].source.replace(/\\(\d+)/g,function(g,h){return"\\"+(h-0+1)}))}var A=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};
-try{Array.prototype.slice.call(r.documentElement.childNodes,0)}catch(B){A=function(g,h){h=h||[];if(i.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var k=0,l=g.length;k<l;k++)h.push(g[k]);else for(k=0;g[k];k++)h.push(g[k]);return h}}var C;if(r.documentElement.compareDocumentPosition)C=function(g,h){if(!g.compareDocumentPosition||!h.compareDocumentPosition){if(g==h)j=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===
-h?0:1;if(g===0)j=true;return g};else if("sourceIndex"in r.documentElement)C=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)j=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)j=true;return g};else if(r.createRange)C=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)j=true;return g.ownerDocument?-1:1}var k=g.ownerDocument.createRange(),l=h.ownerDocument.createRange();k.setStart(g,0);k.setEnd(g,0);l.setStart(h,0);l.setEnd(h,0);g=k.compareBoundaryPoints(Range.START_TO_END,
-l);if(g===0)j=true;return g};(function(){var g=r.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var k=r.documentElement;k.insertBefore(g,k.firstChild);if(r.getElementById(h)){m.find.ID=function(l,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(l[1]))?q.id===l[1]||typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id").nodeValue===l[1]?[q]:v:[]};m.filter.ID=function(l,q){var p=typeof l.getAttributeNode!=="undefined"&&l.getAttributeNode("id");
-return l.nodeType===1&&p&&p.nodeValue===q}}k.removeChild(g);k=g=null})();(function(){var g=r.createElement("div");g.appendChild(r.createComment(""));if(g.getElementsByTagName("*").length>0)m.find.TAG=function(h,k){k=k.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var l=0;k[l];l++)k[l].nodeType===1&&h.push(k[l]);k=h}return k};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")m.attrHandle.href=function(h){return h.getAttribute("href",
-2)};g=null})();r.querySelectorAll&&function(){var g=o,h=r.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){o=function(l,q,p,u){q=q||r;if(!u&&q.nodeType===9&&!w(q))try{return A(q.querySelectorAll(l),p)}catch(t){}return g(l,q,p,u)};for(var k in g)o[k]=g[k];h=null}}();(function(){var g=r.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===
-0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){m.order.splice(1,0,"CLASS");m.find.CLASS=function(h,k,l){if(typeof k.getElementsByClassName!=="undefined"&&!l)return k.getElementsByClassName(h[1])};g=null}}})();var E=r.compareDocumentPosition?function(g,h){return g.compareDocumentPosition(h)&16}:function(g,h){return g!==h&&(g.contains?g.contains(h):true)},w=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},fa=function(g,h){var k=[],
-l="",q;for(h=h.nodeType?[h]:h;q=m.match.PSEUDO.exec(g);){l+=q[0];g=g.replace(m.match.PSEUDO,"")}g=m.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)o(g,h[q],k);return o.filter(l,k)};c.find=o;c.expr=o.selectors;c.expr[":"]=c.expr.filters;c.unique=o.uniqueSort;c.getText=a;c.isXMLDoc=w;c.contains=E})();var bb=/Until$/,cb=/^(?:parents|prevUntil|prevAll)/,db=/,/;Q=Array.prototype.slice;var Ea=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,i){return!!b.call(e,i,e)===d});else if(b.nodeType)return c.grep(a,
-function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Qa.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;c.find(a,this[f],b);if(f>0)for(var i=d;i<b.length;i++)for(var j=0;j<d;j++)if(b[j]===b[i]){b.splice(i--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=
-0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ea(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ea(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,i={},j;if(f&&a.length){e=0;for(var n=a.length;e<n;e++){j=a[e];i[j]||(i[j]=c.expr.match.POS.test(j)?c(j,b||this.context):j)}for(;f&&f.ownerDocument&&f!==b;){for(j in i){e=i[j];if(e.jquery?e.index(f)>
--1:c(f).is(e)){d.push({selector:j,elem:f});delete i[j]}}f=f.parentNode}}return d}var o=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(m,s){for(;s&&s.ownerDocument&&s!==b;){if(o?o.index(s)>-1:c(s).is(a))return s;s=s.parentNode}return null})},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),
-a);return this.pushStack(pa(a[0])||pa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},
-nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);bb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):
-e;if((this.length>1||db.test(f))&&cb.test(a))e=e.reverse();return this.pushStack(e,a,Q.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===v||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==
-b&&d.push(a);return d}});var Fa=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ga=/(<([\w:]+)[^>]*?)\/>/g,eb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,Ha=/<([\w:]+)/,fb=/<tbody/i,gb=/<|&\w+;/,sa=/checked\s*(?:[^=]|=\s*.checked.)/i,Ia=function(a,b,d){return eb.test(d)?a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
-col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==v)return this.empty().append((this[0]&&this[0].ownerDocument||r).createTextNode(a));return c.getText(this)},
-wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?
-d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,
-false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&
-!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Fa,"").replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){qa(this,b);qa(this.find("*"),b.find("*"))}return b},html:function(a){if(a===v)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Fa,""):null;else if(typeof a==="string"&&!/<script/i.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(Ha.exec(a)||
-["",""])[1].toLowerCase()]){a=a.replace(Ga,Ia);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var i=c(this),j=i.html();i.empty().append(function(){return a.call(this,e,j)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,
-b,f))});else a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(s){return c.nodeName(s,"table")?s.getElementsByTagName("tbody")[0]||s.appendChild(s.ownerDocument.createElement("tbody")):s}var e,i,j=a[0],n=[];if(!c.support.checkClone&&arguments.length===3&&typeof j===
-"string"&&sa.test(j))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(j))return this.each(function(s){var x=c(this);a[0]=j.call(this,s,b?x.html():v);x.domManip(a,b,d)});if(this[0]){e=a[0]&&a[0].parentNode&&a[0].parentNode.nodeType===11?{fragment:a[0].parentNode}:ra(a,this,n);if(i=e.fragment.firstChild){b=b&&c.nodeName(i,"tr");for(var o=0,m=this.length;o<m;o++)d.call(b?f(this[o],i):this[o],e.cacheable||this.length>1||o>0?e.fragment.cloneNode(true):e.fragment)}n&&c.each(n,
-Ma)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);for(var e=0,i=d.length;e<i;e++){var j=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),j);f=f.concat(j)}return this.pushStack(f,a,d.selector)}});c.each({remove:function(a,b){if(!a||c.filter(a,[this]).length){if(!b&&this.nodeType===1){c.cleanData(this.getElementsByTagName("*"));c.cleanData([this])}this.parentNode&&
-this.parentNode.removeChild(this)}},empty:function(){for(this.nodeType===1&&c.cleanData(this.getElementsByTagName("*"));this.firstChild;)this.removeChild(this.firstChild)}},function(a,b){c.fn[a]=function(){return this.each(b,arguments)}});c.extend({clean:function(a,b,d,f){b=b||r;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||r;var e=[];c.each(a,function(i,j){if(typeof j==="number")j+="";if(j){if(typeof j==="string"&&!gb.test(j))j=b.createTextNode(j);else if(typeof j===
-"string"){j=j.replace(Ga,Ia);var n=(Ha.exec(j)||["",""])[1].toLowerCase(),o=F[n]||F._default,m=o[0];i=b.createElement("div");for(i.innerHTML=o[1]+j+o[2];m--;)i=i.lastChild;if(!c.support.tbody){m=fb.test(j);n=n==="table"&&!m?i.firstChild&&i.firstChild.childNodes:o[1]==="<table>"&&!m?i.childNodes:[];for(o=n.length-1;o>=0;--o)c.nodeName(n[o],"tbody")&&!n[o].childNodes.length&&n[o].parentNode.removeChild(n[o])}!c.support.leadingWhitespace&&V.test(j)&&i.insertBefore(b.createTextNode(V.exec(j)[0]),i.firstChild);
-j=c.makeArray(i.childNodes)}if(j.nodeType)e.push(j);else e=c.merge(e,j)}});if(d)for(a=0;e[a];a++)if(f&&c.nodeName(e[a],"script")&&(!e[a].type||e[a].type.toLowerCase()==="text/javascript"))f.push(e[a].parentNode?e[a].parentNode.removeChild(e[a]):e[a]);else{e[a].nodeType===1&&e.splice.apply(e,[a+1,0].concat(c.makeArray(e[a].getElementsByTagName("script"))));d.appendChild(e[a])}return e},cleanData:function(a){for(var b=0,d;(d=a[b])!=null;b++){c.event.remove(d);c.removeData(d)}}});var hb=/z-?index|font-?weight|opacity|zoom|line-?height/i,
-Ja=/alpha\([^)]*\)/,Ka=/opacity=([^)]*)/,ga=/float/i,ha=/-([a-z])/ig,ib=/([A-Z])/g,jb=/^-?\d+(?:px)?$/i,kb=/^-?\d/,lb={position:"absolute",visibility:"hidden",display:"block"},mb=["Left","Right"],nb=["Top","Bottom"],ob=r.defaultView&&r.defaultView.getComputedStyle,La=c.support.cssFloat?"cssFloat":"styleFloat",ia=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===v)return c.curCSS(d,f);if(typeof e==="number"&&!hb.test(f))e+="px";c.style(d,f,e)})};
-c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return v;if((b==="width"||b==="height")&&parseFloat(d)<0)d=v;var f=a.style||a,e=d!==v;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=Ja.test(a)?a.replace(Ja,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Ka.exec(f.filter)[1])/100+"":""}if(ga.test(b))b=La;b=b.replace(ha,ia);if(e)f[b]=d;return f[b]},css:function(a,
-b,d,f){if(b==="width"||b==="height"){var e,i=b==="width"?mb:nb;function j(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(i,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,"border"+this+"Width",true))||0})}a.offsetWidth!==0?j():c.swap(a,lb,j);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&
-a.currentStyle){f=Ka.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ga.test(b))b=La;if(!d&&e&&e[b])f=e[b];else if(ob){if(ga.test(b))b="float";b=b.replace(ib,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ha,ia);f=a.currentStyle[b]||a.currentStyle[d];if(!jb.test(f)&&kb.test(f)){b=e.left;var i=a.runtimeStyle.left;a.runtimeStyle.left=
-a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=i}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var pb=
-J(),qb=/<script(.|\s)*?\/script>/gi,rb=/select|textarea/i,sb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ja=/\?/,tb=/(\?|&)_=.*?(&|$)/,ub=/^(\w+:)?\/\/([^\/?#]+)/,vb=/%20/g;c.fn.extend({_load:c.fn.load,load:function(a,b,d){if(typeof a!=="string")return this._load(a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=
-c.param(b,c.ajaxSettings.traditional);f="POST"}var i=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(j,n){if(n==="success"||n==="notmodified")i.html(e?c("<div />").append(j.responseText.replace(qb,"")).find(e):j.responseText);d&&i.each(d,[j.responseText,n,j])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&
-(this.checked||rb.test(this.nodeName)||sb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,
-b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:z.XMLHttpRequest&&(z.location.protocol!=="file:"||!z.ActiveXObject)?function(){return new z.XMLHttpRequest}:
-function(){try{return new z.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&e.success.call(o,n,j,w);e.global&&f("ajaxSuccess",[w,e])}function d(){e.complete&&e.complete.call(o,w,j);e.global&&f("ajaxComplete",[w,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}
-function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),i,j,n,o=a&&a.context||e,m=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(m==="GET")N.test(e.url)||(e.url+=(ja.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||
-N.test(e.url))){i=e.jsonpCallback||"jsonp"+pb++;if(e.data)e.data=(e.data+"").replace(N,"="+i+"$1");e.url=e.url.replace(N,"="+i+"$1");e.dataType="script";z[i]=z[i]||function(q){n=q;b();d();z[i]=v;try{delete z[i]}catch(p){}A&&A.removeChild(B)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===false&&m==="GET"){var s=J(),x=e.url.replace(tb,"$1_="+s+"$2");e.url=x+(x===e.url?(ja.test(e.url)?"&":"?")+"_="+s:"")}if(e.data&&m==="GET")e.url+=(ja.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&
-c.event.trigger("ajaxStart");s=(s=ub.exec(e.url))&&(s[1]&&s[1]!==location.protocol||s[2]!==location.host);if(e.dataType==="script"&&m==="GET"&&s){var A=r.getElementsByTagName("head")[0]||r.documentElement,B=r.createElement("script");B.src=e.url;if(e.scriptCharset)B.charset=e.scriptCharset;if(!i){var C=false;B.onload=B.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;b();d();B.onload=B.onreadystatechange=null;A&&B.parentNode&&
-A.removeChild(B)}}}A.insertBefore(B,A.firstChild);return v}var E=false,w=e.xhr();if(w){e.username?w.open(m,e.url,e.async,e.username,e.password):w.open(m,e.url,e.async);try{if(e.data||a&&a.contentType)w.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[e.url]);c.etag[e.url]&&w.setRequestHeader("If-None-Match",c.etag[e.url])}s||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",
-e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(fa){}if(e.beforeSend&&e.beforeSend.call(o,w,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");w.abort();return false}e.global&&f("ajaxSend",[w,e]);var g=w.onreadystatechange=function(q){if(!w||w.readyState===0||q==="abort"){E||d();E=true;if(w)w.onreadystatechange=c.noop}else if(!E&&w&&(w.readyState===4||q==="timeout")){E=true;w.onreadystatechange=c.noop;j=q==="timeout"?"timeout":!c.httpSuccess(w)?
-"error":e.ifModified&&c.httpNotModified(w,e.url)?"notmodified":"success";var p;if(j==="success")try{n=c.httpData(w,e.dataType,e)}catch(u){j="parsererror";p=u}if(j==="success"||j==="notmodified")i||b();else c.handleError(e,w,j,p);d();q==="timeout"&&w.abort();if(e.async)w=null}};try{var h=w.abort;w.abort=function(){w&&h.call(w);g("abort")}}catch(k){}e.async&&e.timeout>0&&setTimeout(function(){w&&!E&&g("timeout")},e.timeout);try{w.send(m==="POST"||m==="PUT"||m==="DELETE"?e.data:null)}catch(l){c.handleError(e,
-w,null,l);d()}e.async||g();return w}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=
-f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(j,n){if(c.isArray(n))c.each(n,
-function(o,m){b?f(j,m):d(j+"["+(typeof m==="object"||c.isArray(m)?o:"")+"]",m)});else!b&&n!=null&&typeof n==="object"?c.each(n,function(o,m){d(j+"["+o+"]",m)}):f(j,n)}function f(j,n){n=c.isFunction(n)?n():n;e[e.length]=encodeURIComponent(j)+"="+encodeURIComponent(n)}var e=[];if(b===v)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var i in a)d(i,a[i]);return e.join("&").replace(vb,"+")}});var ka={},wb=/toggle|show|hide/,xb=/^([+-]=)?([\d+-.]+)(.*)$/,
-W,ta=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(ka[d])f=ka[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();
-ka[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&
-c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var i=c.extend({},e),j,n=this.nodeType===1&&c(this).is(":hidden"),
-o=this;for(j in a){var m=j.replace(ha,ia);if(j!==m){a[m]=a[j];delete a[j];j=m}if(a[j]==="hide"&&n||a[j]==="show"&&!n)return i.complete.call(this);if((j==="height"||j==="width")&&this.style){i.display=c.css(this,"display");i.overflow=this.style.overflow}if(c.isArray(a[j])){(i.specialEasing=i.specialEasing||{})[j]=a[j][1];a[j]=a[j][0]}}if(i.overflow!=null)this.style.overflow="hidden";i.curAnim=c.extend({},a);c.each(a,function(s,x){var A=new c.fx(o,i,s);if(wb.test(x))A[x==="toggle"?n?"show":"hide":x](a);
-else{var B=xb.exec(x),C=A.cur(true)||0;if(B){x=parseFloat(B[2]);var E=B[3]||"px";if(E!=="px"){o.style[s]=(x||1)+E;C=(x||1)/A.cur(true)*C;o.style[s]=C+E}if(B[1])x=(B[1]==="-="?-1:1)*x+C;A.custom(C,x,E)}else A.custom(C,x,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",
-1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration==="number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,
-b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==
-null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(i){return e.step(i)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop===
-"width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=
-this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=
-c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=
-null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in r.documentElement?function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),
-f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(s){c.offset.setOffset(this,a,s)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=
-b,e=b.ownerDocument,i,j=e.documentElement,n=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var o=b.offsetTop,m=b.offsetLeft;(b=b.parentNode)&&b!==n&&b!==j;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;i=e?e.getComputedStyle(b,null):b.currentStyle;o-=b.scrollTop;m-=b.scrollLeft;if(b===d){o+=b.offsetTop;m+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){o+=parseFloat(i.borderTopWidth)||
-0;m+=parseFloat(i.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&i.overflow!=="visible"){o+=parseFloat(i.borderTopWidth)||0;m+=parseFloat(i.borderLeftWidth)||0}f=i}if(f.position==="relative"||f.position==="static"){o+=n.offsetTop;m+=n.offsetLeft}if(c.offset.supportsFixedPosition&&f.position==="fixed"){o+=Math.max(j.scrollTop,n.scrollTop);m+=Math.max(j.scrollLeft,n.scrollLeft)}return{top:o,left:m}};c.offset={initialize:function(){var a=r.body,b=r.createElement("div"),
-d,f,e,i=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);
-d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i;a.removeChild(b);c.offset.initialize=c.noop},
-bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),i=parseInt(c.curCSS(a,"top",true),10)||0,j=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,d,e);d={top:b.top-e.top+i,left:b.left-
-e.left+j};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=
-this.offsetParent||r.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],i;if(!e)return null;if(f!==v)return this.each(function(){if(i=ua(this))i.scrollTo(!a?f:c(i).scrollLeft(),a?f:c(i).scrollTop());else this[d]=f});else return(i=ua(e))?"pageXOffset"in i?i[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&i.document.documentElement[d]||i.document.body[d]:e[d]}});
-c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(i){var j=c(this);j[d](f.call(this,i,j[d]()))});return"scrollTo"in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||
-e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===v?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});z.jQuery=z.$=c})(window);
diff --git a/doc/pluginhowto/templates/scripts/narrow.js b/doc/pluginhowto/templates/scripts/narrow.js
deleted file mode 100644
index 12d0ce89d5..0000000000
--- a/doc/pluginhowto/templates/scripts/narrow.js
+++ /dev/null
@@ -1,78 +0,0 @@
-var narrowInit = function() {
- /* TODO:
- Could probably be more efficient, not hardcoding each element to be created
- */
- // 1: Create search form
- var narrowSearch = $('<div id="narrowsearch"></div>');
- var searchform = $("#qtdocsearch");
- narrowSearch.append(searchform);
- $("#qtdocheader .content .qtref").after(narrowSearch);
-
- // 2: Create dropdowns
- var narrowmenu = $('<ul id="narrowmenu" class="sf-menu"></ul>');
-
- // Lookup
- var lookuptext = $("#lookup h2").attr("title");
- $("#lookup ul").removeAttr("id");
- $("#lookup ul li").removeAttr("class");
- $("#lookup ul li").removeAttr("style");
- var lookupul = $("#lookup ul");
- var lookuplist = $('<li></li>');
- var lookuplink = $('<a href="#"></a>');
- lookuplink.append(lookuptext);
- lookuplist.append(lookuplink);
- lookuplist.append(lookupul);
- narrowmenu.append(lookuplist);
-
- // Topics
- var topicstext = $("#topics h2").attr("title");
- $("#topics ul").removeAttr("id");
- $("#topics ul li").removeAttr("class");
- $("#topics ul li").removeAttr("style");
- var topicsul = $("#topics ul");
- var topicslist = $('<li></li>');
- var topicslink = $('<a href="#"></a>');
- topicslink.append(topicstext);
- topicslist.append(topicslink);
- topicslist.append(topicsul);
- narrowmenu.append(topicslist);
-
- // Examples
- var examplestext = $("#examples h2").attr("title");
- $("#examples ul").removeAttr("id");
- $("#examples ul li").removeAttr("class");
- $("#examples ul li").removeAttr("style");
- var examplesul = $("#examples ul");
- var exampleslist = $('<li></li>');
- var exampleslink = $('<a href="#"></a>');
- exampleslink.append(examplestext);
- exampleslist.append(exampleslink);
- exampleslist.append(examplesul);
- narrowmenu.append(exampleslist);
-
- $("#shortCut").after(narrowmenu);
- $('ul#narrowmenu').superfish({
- delay: 100,
- autoArrows: false,
- disableHI: true
- });
-}
-
-$(document).ready(function(){
- if ($('body').hasClass('narrow')) {
- narrowInit();
- }
-});
-
-$(window).bind('resize', function () {
- if($(window).width()<600) {
- $('body').addClass('narrow');
-
- if ($("#narrowsearch").length == 0) {
- narrowInit();
- }
- }
- else {
- $('body').removeClass('narrow');
- }
-}); \ No newline at end of file
diff --git a/doc/pluginhowto/templates/scripts/superfish.js b/doc/pluginhowto/templates/scripts/superfish.js
deleted file mode 100644
index c6a9c7de04..0000000000
--- a/doc/pluginhowto/templates/scripts/superfish.js
+++ /dev/null
@@ -1,121 +0,0 @@
-
-/*
- * Superfish v1.4.8 - jQuery menu widget
- * Copyright (c) 2008 Joel Birch
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
- */
-
-;(function($){
- $.fn.superfish = function(op){
-
- var sf = $.fn.superfish,
- c = sf.c,
- $arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
- over = function(){
- var $$ = $(this), menu = getMenu($$);
- clearTimeout(menu.sfTimer);
- $$.showSuperfishUl().siblings().hideSuperfishUl();
- },
- out = function(){
- var $$ = $(this), menu = getMenu($$), o = sf.op;
- clearTimeout(menu.sfTimer);
- menu.sfTimer=setTimeout(function(){
- o.retainPath=($.inArray($$[0],o.$path)>-1);
- $$.hideSuperfishUl();
- if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
- },o.delay);
- },
- getMenu = function($menu){
- var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
- sf.op = sf.o[menu.serial];
- return menu;
- },
- addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
-
- return this.each(function() {
- var s = this.serial = sf.o.length;
- var o = $.extend({},sf.defaults,op);
- o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
- $(this).addClass([o.hoverClass,c.bcClass].join(' '))
- .filter('li:has(ul)').removeClass(o.pathClass);
- });
- sf.o[s] = sf.op = o;
-
- $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
- if (o.autoArrows) addArrow( $('>a:first-child',this) );
- })
- .not('.'+c.bcClass)
- .hideSuperfishUl();
-
- var $a = $('a',this);
- $a.each(function(i){
- var $li = $a.eq(i).parents('li');
- $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
- });
- o.onInit.call(this);
-
- }).each(function() {
- var menuClasses = [c.menuClass];
- if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
- $(this).addClass(menuClasses.join(' '));
- });
- };
-
- var sf = $.fn.superfish;
- sf.o = [];
- sf.op = {};
- sf.IE7fix = function(){
- var o = sf.op;
- if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
- this.toggleClass(sf.c.shadowClass+'-off');
- };
- sf.c = {
- bcClass : 'sf-breadcrumb',
- menuClass : 'sf-js-enabled',
- anchorClass : 'sf-with-ul',
- arrowClass : 'sf-sub-indicator',
- shadowClass : 'sf-shadow'
- };
- sf.defaults = {
- hoverClass : 'sfHover',
- pathClass : 'overideThisToUse',
- pathLevels : 1,
- delay : 800,
- animation : {opacity:'show'},
- speed : 'normal',
- autoArrows : true,
- dropShadows : true,
- disableHI : false, // true disables hoverIntent detection
- onInit : function(){}, // callback functions
- onBeforeShow: function(){},
- onShow : function(){},
- onHide : function(){}
- };
- $.fn.extend({
- hideSuperfishUl : function(){
- var o = sf.op,
- not = (o.retainPath===true) ? o.$path : '';
- o.retainPath = false;
- var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
- .find('>ul').hide().css('visibility','hidden');
- o.onHide.call($ul);
- return this;
- },
- showSuperfishUl : function(){
- var o = sf.op,
- sh = sf.c.shadowClass+'-off',
- $ul = this.addClass(o.hoverClass)
- .find('>ul:hidden').css('visibility','visible');
- sf.IE7fix.call($ul);
- o.onBeforeShow.call($ul);
- $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
- return this;
- }
- });
-
-})(jQuery);
diff --git a/doc/pluginhowto/templates/style/OfflineStyle.css b/doc/pluginhowto/templates/style/OfflineStyle.css
deleted file mode 100644
index 51ea3541b1..0000000000
--- a/doc/pluginhowto/templates/style/OfflineStyle.css
+++ /dev/null
@@ -1,836 +0,0 @@
-@media screen
-{
- html
- {
- color: #000000;
- background: #FFFFFF;
- }
- body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td
- {
- margin: 0;
- padding: 0;
- }
- table
- {
- border-collapse: collapse;
- border-spacing: 0;
- }
- fieldset, img
- {
- border: 0;
- }
- address, caption, cite, code, dfn, em, strong, th, var, optgroup
- {
- font-style: inherit;
- font-weight: inherit;
- }
- del, ins
- {
- text-decoration: none;
- }
- li
- {
- list-style: none;
- }
- caption, th
- {
- text-align: left;
- }
- h1, h2, h3, h4, h5, h6
- {
- font-size: 100%;
- }
- q:before, q:after
- {
- content: '';
- }
- abbr, acronym
- {
- border: 0;
- font-variant: normal;
- }
- sup
- {
- vertical-align: baseline;
- }
- sub
- {
- vertical-align: baseline;
- }
- tt, .qmlreadonly span, .qmldefault span
- {
- word-spacing:5px;
- }
- .heading
- {
- font: normal 600 16px/1.0 Arial;
- }
- .subtitle
- {
- font-size: 13px;
- }
- .small-subtitle
- {
- font-size: 13px;
- }
- legend
- {
- color: #000000;
- }
- input, button, textarea, select, optgroup, option
- {
- font-family: inherit;
- font-size: inherit;
- font-style: inherit;
- font-weight: inherit;
- }
- input, button, textarea, select
- {
- font-size: 100%;
- }
- body
- {
- font: normal 13px/1.2 Verdana;
- color: #363534;
- }
- strong
- {
- font-weight: bold;
- }
- em
- {
- font-style: italic;
- }
- a
- {
- color: #00732f;
- text-decoration: none;
- }
- .header, .footer, .wrapper
- {
- /*min-width: 600px;*/
- max-width: 1500px;
- margin: 0 5px;
- }
- .wrapper
- {
- position:relative;
- top:50px;
- }
- .wrapper .bd
- {
- position: relative;
- }
-
- .header, .footer
- {
- display: block;
- clear: both;
- overflow: hidden;
- }
- .header
- {
- height: 115px;
- position: relative;
- }
-
-
- .header .qtref
- {
- position: absolute;
- top: 28px;
- left: 88px;
- width: 302px;
- height: 22px;
- }
- .header .qtref span
- {
- display: block;
- height: 22px;
- }
- .wrap .content h1
- {
- font: 600 18px/1.2 Arial;
- }
- .wrap .content h2
- {
- font: 600 16px/1.2 Arial;
- }
- .wrap .content h3
- {
- font: 600 14px/1.2 Arial;
- }
- .wrap .content h4
- {
- font: 600 12px/1.2 Arial;
- }
-
- .wrap .content p
- {
- line-height: 20px;
- padding: 5px;
- }
- .wrap .content table p
- {
- line-height: 20px;
- padding: 0px;
- }
- .wrap .content ul
- {
- padding-left: 25px;
- padding-top: 10px;
- }
- a:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
- .content a:visited
- {
- color: #4c0033;
- text-decoration: none;
- }
- .content a:visited:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
-
- pre
- {
- border: 1px solid #DDDDDD;
- margin: 0 20px 10px 10px;
- padding: 20px 15px 20px 20px;
- overflow-x: auto;
- }
- table, pre
- {
- -moz-border-radius: 7px 7px 7px 7px;
- background-color: #F6F6F6;
- border: 1px solid #E6E6E6;
- border-collapse: separate;
- font-size: 11px;
- /*min-width: 395px;*/
- margin-bottom: 25px;
- display: inline-block;
- }
- thead
- {
- margin-top: 5px;
- font:600 12px/1.2 Arial;
- }
- th
- {
- padding: 5px 15px 5px 15px;
- background-color: #E1E1E1;
- /* border-bottom: 1px solid #E6E6E6;*/
- border-left: 1px solid #E6E6E6;
- /* border-right: 1px solid #E6E6E6;*/
- }
- td
- {
- padding: 3px 15px 3px 20px;
- /* border-left: 1px solid #E6E6E6;
- border-right: 1px solid #E6E6E6;*/
- }
- tr.odd td:hover, tr.even td:hover
- {
- /* border-right: 1px solid #C3C3C3;
- border-left: 1px solid #C3C3C3;*/
- }
-
- td.rightAlign
- {
- padding: 3px 15px 3px 10px;
- }
- table tr.odd
- {
- border-left: 1px solid #E6E6E6;
- background-color: #F6F6F6;
- color: #66666E;
- }
- table tr.even
- {
- border-left: 1px solid #E6E6E6;
- background-color: #ffffff;
- color: #66666E;
- }
- table tr.odd td:hover, table tr.even td:hover
- {
- background-color: #E6E6E6;
- }
-
- span.comment
- {
- color: #8B0000;
- font-style: italic;
- }
- span.string, span.char
- {
- color: #254117;
- }
-
- .qmltype
- {
- text-align: center;
- font-size: 160%;
- }
- .qmlreadonly
- {
- float: right;
- color: #254117;
- }
-
- .qmldefault
- {
- float: right;
- color: red;
- }
-
- .footer
- {
- border-top:1px solid #E5E5E5;
- min-height: 100px;
- color: #797775;
- font: normal 9px/1 Verdana;
- text-align: center;
- padding-top: 40px;
- margin: 0;
- }
-
-
- .wrap
- {
- margin: 0 5px 0 5px;
- }
- .wrap .toolbar
- {
- display:block;
- }
-
- .wrap .breadcrumb ul li
- {
- float: left;
- background: url(../images/breadcrumb.png) no-repeat 0 5px;
- padding-left: 15px;
- margin-left: 15px;
- font-weight: bold;
- }
- .wrap .breadcrumb ul li.last
- {
- font-weight: normal;
- }
- .wrap .breadcrumb ul li a
- {
- /* color: #363534;*/
- color: #00732F;
- }
- .wrap .breadcrumb ul li.first
- {
- background-image: none;
- padding-left: 0;
- margin-left: 0;
- }
- .wrap .content
- {
- word-wrap:break-word;
- }
- .wrap .content li
- {
- padding-left: 12px;
- background: url(../images/bullet_sq.png) no-repeat 0 5px;
- font: inherit;
- /* color: #44a51c;*/
- margin-bottom: 10px;
- }
-
- .wrap .content ol li {
- background:none;
- font: inherit;
- margin-bottom:10px;
- padding-left: 0px;
- }
-
- .wrap .content ol li {
- list-style-type:decimal;
- }
-
- .wrap .content .descr ol li {
- margin-left: 45px;
-
- }
-
- .offline .wrap .content
- {
- padding-top: 15px;
- }
-
- .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
-
- hr
- {
- background-color: #E6E6E6;
- border: 1px solid #E6E6E6;
- height: 1px;
- width: 100%;
- text-align: left;
- margin: 5px 0px 5px 0px;
- }
-
- .content .alignedsummary
- {
- margin: 5px;
- width:100%;
- }
-
-
- .toc
- {
- float: right;
- -moz-border-radius: 7px 7px 7px 7px;
- background-color: #F6F6F6;
- border: 1px solid #DDDDDD;
- margin: 0 20px 10px 10px;
- padding: 20px 15px 20px 20px;
- height: auto;
- width: 200px;
- }
-
- .toc h3, .generic a
- {
- font: 600 12px/1.2 Arial;
- }
-
- .wrap .content .toc ul
- {
- padding-left: 0px;
- }
-
-
- .wrap .content .toc .level2
- {
- margin-left: 15px;
- }
-
- .wrap .content .toc .level3
- {
- margin-left: 30px;
- }
-
- .content .toc li
- {
- font: normal 10px/1.2 Verdana;
- background: url(../images/bullet_dn.png) no-repeat 0 5px;
- }
-
-
- .generic{
- max-width:75%;
- }
- .generic td{
- padding:0;
- }
-
- .generic .odd .alphaChar{
- background-color: #F6F6F6;
- }
-
- .generic .even .alphaChar{
- background-color: #FFFFFF;
- }
-
- .highlightedCode
- {
- margin:10px;
- }
-
- .flowList{
- vertical-align:top;
- }
- .alphaChar{
- width:100%;
- background-color:#F6F6F6;
- border:1px solid #E6E6E6;
- font-size:12pt;
- padding-left:10px;
- margin-top:10px;
- margin-bottom:10px;
- }
-
- .flowList dl{
- }
- .flowList dd{
- display:inline-block;
- margin-left:10px;
- width:250px;
- }
- .wrap .content .flowList p{
- padding:0px;
- }
-
- .relpage
- {
- -moz-border-radius: 7px 7px 7px 7px;
- border: 1px solid #DDDDDD;
- padding: 25px 25px;
- clear: both;
- }
- .relpage ul
- {
- float: none;
- padding: 15px;
- }
- .content .relpage li
- {
- font: normal 11px/1.2 Verdana;
- }
- h3.fn, span.fn
- {
- background-color: #F6F6F6;
- border-width: 1px;
- border-style: solid;
- border-color: #E6E6E6;
- font-weight: bold;
- word-spacing:3px;
- }
-
- .functionIndex {
- font-size:12pt;
- word-spacing:10px;
- margin-bottom:10px;
- background-color: #F6F6F6;
- border-width: 1px;
- border-style: solid;
- border-color: #E6E6E6;
- width:100%;
- }
-
- .centerAlign { text-align:center;}
- .rightAlign {text-align:right;}
- .leftAlign {text-align:left;}
- .topAlign{vertical-align:top }
- .functionIndex a{display:inline-block;}
-
- /* start index box */
- .indexbox
- {
- width: 100%;
- display:inline-block;
- }
-
- .indexboxcont { display: block; }
-
- .indexboxbar
- {
- border-bottom:1px solid #E5E5E5;
- margin-bottom: 25px;
- }
-
- .indexboxcont .section
- {
- display: inline-block;
- padding:0 2% 0 1%;
- vertical-align:top;
- }
-
- .indexboxcont .section {
- float: left;
- }
-
- .indexboxcont .section p
- {
- padding-top: 20px;
- padding-bottom: 20px;
- }
- .indexboxcont .sectionlist
- {
- display: inline-block;
- vertical-align:top;
- padding: 0;
- }
- .indexboxcont .sectionlist ul
- {
- margin-bottom: 20px;
- }
-
- .indexboxcont .sectionlist ul li
- {
- line-height: 12px;
- }
-
- .content .indexboxcont li
- {
- font: normal 600 13px/1 Verdana;
- }
-
- .indexbox a:hover, .indexbox a:visited:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
-
- .indexbox a:visited
- {
- color: #00732f;
- text-decoration: none;
- }
-
- .indexbox .indexIcon {
- width: 11%;
- }
-
-
- .indexboxcont:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
-
- body.offline
- {
- background-image: none;
- }
-
- .offline .footer {
- margin: 0;
- }
- .offline .header
- {
- width: 100%;
- margin: 0;
- height: auto;
- background-color: #ffffff;
- padding: 10px 0 5px 0;
- overflow: visible;
- border-bottom: solid #E5E5E5 1px;
- z-index:1;
- position:fixed;
- }
-
- .offline .header .content
- {
- }
- .offline .header .qtref
- {
- color: #00732F;
- position: static;
- float: left;
- margin-left: 5px;
- font: bold 18px/1 Arial;
- }
-
- .offline .header .qtref:visited
- {
- color: #00732F;
- }
- .offline .header .qtref:hover
- {
- color: #00732F;
- text-decoration:none;
- }
- .offline .header .qtref span
- {
- background-image: none;
- text-indent: 0;
- text-decoration:none;
- }
-
- .offline .wrap
- {
- margin: 0 5px 0 5px;
- }
-
- .offline .wrap .toolbar
- {
- display:block;
- padding-top:5px;
- }
-
- .offline .wrap .breadcrumb ul li {
- font-weight: normal;
- }
-
- .offline .wrap .breadcrumb ul li a {
- /*color: #44a51c;*/
- }
-
- .offline .wrap .breadcrumb ul li.last a {
- /*color: #363534;*/
- }
-
-
-
- .narrow .indexboxcont .section {
- width: 64%;
- padding-left: 0;
- }
-
- .narrow .indexboxcont .sectionlist {
- width: 32.5%;
- }
-
- .header .icon,
- .sidebar,
- .feedback,
- .t_button,
- .feedback,
- #feedbackBox,
- #feedback,
- #blurpage,
- .indexbox .indexIcon span,
- .wrapper .hd,
- .offline .indexbox .indexIcon,
- .offline .header #nav-logo,
- #offlinemenu,
- #offlinesearch,
- .offline .header #nav-topright,
- .offline .header #shortCut ,
- .offline .wrapper .hd,
- .offline .wrapper .ft,
- .offline .sidebar,
- .offline .wrap .feedback
- {
- display:none;
- }
-
- /* end offline mode */
-#narrowmenu {
- display: none;
- float: right;
- margin: 15px 40px 0 0;
- font-size: 11px;
- }
-
- .narrow #narrowmenu {
- display: block;
- }
-
- #narrowsearch{
- display:none;
- }
-
- #narrowmenu ul
- {
- border-bottom:solid 1px #E5E5E5;
- border-left:solid 1px #E5E5E5;
- border-right:solid 1px #E5E5E5;
- }
-
- #narrowmenu a {
- line-height: 1.1;
- background: url(../images/arrow_down.png) no-repeat 100% 50%;
- white-space: nowrap;
- padding: 0 16px 0 5px;
- }
-
- #narrowmenu li {
- margin-left: 20px;
- }
-
- #narrowmenu li li {
- margin: 0 0 5px 0;
- }
-
- #narrowmenu li li a {
- padding: 0;
- background-image: none;
- }
-
- #narrowmenu li,
- #narrowmenu li ul {
- background-color: #fff;
- }
-
- #narrowmenu li ul {
- width: auto;
- padding: 5px;
- margin-top:-15px;
- }
-
- .sf-menu li:hover ul, .sf-menu li.sfHover ul {
- top: 1.2em;
- }
-.sf-menu, .sf-menu * {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-.sf-menu {
- line-height: 1.0;
-}
-.sf-menu ul {
- position: absolute;
- top: -999em;
- width: 10em; /* left offset of submenus need to match (see below) */
-}
-.sf-menu ul li {
- width: 100%;
-}
-.sf-menu li:hover {
- visibility: inherit; /* fixes IE7 'sticky bug' */
-}
-.sf-menu li {
- float: left;
- position: relative;
-}
-.sf-menu a {
- display: block;
- position: relative;
-}
-.sf-menu li:hover ul,
-.sf-menu li.sfHover ul {
- left: 0;
- top: 2.5em; /* match top ul list item height */
- z-index: 99;
-}
-ul.sf-menu li:hover li ul,
-ul.sf-menu li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li:hover ul,
-ul.sf-menu li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
-ul.sf-menu li li:hover li ul,
-ul.sf-menu li li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li li:hover ul,
-ul.sf-menu li li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
-
-}
-/* end of screen media */
-
-/* start of print media */
-
-@media print
-{
- input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
- {
- display: none;
- background: none;
- }
- .content
- {
- position: absolute;
- top: 0px;
- left: 0px;
- background: none;
- display: block;
- }
-}
-/* end of print media */
diff --git a/doc/pluginhowto/templates/style/narrow.css b/doc/pluginhowto/templates/style/narrow.css
deleted file mode 100644
index 05159aa568..0000000000
--- a/doc/pluginhowto/templates/style/narrow.css
+++ /dev/null
@@ -1,250 +0,0 @@
- /* start narrow mode */
-
- body.narrow
- {
- background-image: none;
- }
-
- .narrow a {
- color: #44a51c;
- }
-
- .narrow .header, .narrow .header .content, .narrow .footer, .narrow .wrapper {
- margin: 0 7px;
- min-width: 300px;
- }
-
- .narrow .footer {
- margin: 0;
- }
- .narrow .header
- {
- width: 100%;
- margin: 0;
- height: auto;
- background: #fff url(../images/header_bg.png) repeat-x 0 100%;
- padding: 10px 0 5px 0;
- overflow: visible;
- }
-
- .narrow .header .content
- {
- }
-
- .narrow .header #nav-logo
- {
- display: none;
- }
-
- .narrow .header .qtref
- {
- width: auto;
- height: auto;
- color: #363534;
- position: static;
- float: left;
- margin-left: 25px;
- font: bold 18px/1 Arial;
- }
-
- .narrow .header .qtref a
- {
- color: #363534;
- }
-
- .narrow .header .qtref span
- {
- background-image: none;
- text-indent: 0;
- }
-
- .narrow .header #nav-topright
- {
- display: none;
- }
-
- .narrow .header #shortCut
- {
- clear: both;
- font-weight: normal;
- position: static;
- float: left;
- margin: 15px 0 0 25px;
- overflow: hidden;
- padding: 0;
- height: auto;
- }
-
- .narrow .header #shortCut ul
- {
- float: none;
- margin: 0;
- width: auto;
- font-size: 11px;
- }
-
- .narrow .header #shortCut ul li
- {
- background-image: none;
- }
-
- .narrow .header #shortCut ul .shortCut-topleft-active,
- .narrow .header #shortCut ul .shortCut-topleft-inactive
- {
- background-image: none;
- height: auto;
- padding: 0;
- width: auto;
- }
- .narrow .header #shortCut ul li a
- {
- color: #44a51c;
- }
-
- .narrow .wrapper .hd
- {
- background: url(../images/bg_ul_blank.png) no-repeat 0 0;
- }
-
- .narrow .wrapper .bd
- {
- background: url(../images/bg_l_blank.png) repeat-y 0 0;
- }
-
- .narrow .wrapper .ft
- {
- background: url(../images/bg_ll_blank.png) no-repeat 0 0;
- }
-
- .narrow .sidebar
- {
- display: none;
- }
-
- .narrow .wrap
- {
- margin: 0 5px 0 5px;
- }
-
- .narrow .wrap .toolbar
- {
- border-bottom: none;
- }
-
- .narrow .wrap .content
- {
- padding-top: 15px;
- }
-
- .narrow .wrap .feedback
- {
- display: none;
- }
-
- .narrow .wrap .breadcrumb ul li {
- font-weight: normal;
- }
-
- .narrow .wrap .breadcrumb ul li a {
- color: #44a51c;
- }
-
- .narrow .wrap .breadcrumb ul li.last a {
- color: #363534;
- }
-
- #narrowsearch {
- display: none;
- }
-
- .narrow #narrowsearch {
- display: block;
- float: right;
- margin-right: 25px;
- _position: relative;
- }
-
- .narrow #narrowsearch fieldset {
- _position: absolute;
- _margin-top: -1px;
- }
-
- .narrow #narrowsearch {
- background: url("http://doc.qt.nokia.com/prototype/html/images/sprites-combined.png") no-repeat scroll -6px -348px transparent;
- height: 21px;
- padding: 2px 0 0 5px;
- width: 167px;
- }
-
- .narrow #narrowsearch input {
- border: none;
- font: 13px/1.2 Verdana;
- height: 19px;
- outline: none;
- padding: 0;
- width: 158px;
- *border: 1px solid #fff;
- *height: 17px;
- _height: 18px;
- }
-
- .narrow .indexbox .indexIcon {
- display: none;
- }
-
- .narrow .indexboxcont .section {
- width: 64%;
- padding-left: 0;
- }
-
- .narrow .indexboxcont .sectionlist {
- width: 32.5%;
- }
-
- #narrowmenu {
- display: none;
- float: right;
- margin: 15px 40px 0 0;
- font-size: 11px;
- }
-
- .narrow #narrowmenu {
- display: block;
- }
-
- #narrowmenu a {
- line-height: 1.1;
- background: url(../images/arrow_down.png) no-repeat 100% 50%;
- white-space: nowrap;
- padding: 0 16px 0 5px;
- }
-
- #narrowmenu li {
- margin-left: 20px;
- }
-
- #narrowmenu li li {
- margin: 0 0 5px 0;
- }
-
- #narrowmenu li li a {
- padding: 0;
- background-image: none;
- }
-
- #narrowmenu li,
- #narrowmenu li ul {
- background-color: #fff;
- margin-top:-1px;
- }
-
- #narrowmenu li ul {
- width: auto;
- padding: 5px;
- }
-
- .sf-menu li:hover ul, .sf-menu li.sfHover ul {
- top: 1.2em;
- }
-
- /* end narrow mode */
diff --git a/doc/pluginhowto/templates/style/style.css b/doc/pluginhowto/templates/style/style.css
deleted file mode 100644
index 90cfa2c214..0000000000
--- a/doc/pluginhowto/templates/style/style.css
+++ /dev/null
@@ -1,1218 +0,0 @@
-@media screen
-{
- html
- {
- color: #000000;
- background: #FFFFFF;
- }
- body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td
- {
- margin: 0;
- padding: 0;
- }
- table
- {
- border-collapse: collapse;
- border-spacing: 0;
- }
- fieldset, img
- {
- border: 0;
- }
- address, caption, cite, code, dfn, em, strong, th, var, optgroup
- {
- font-style: inherit;
- font-weight: inherit;
- }
- del, ins
- {
- text-decoration: none;
- }
- li
- {
- list-style: none;
- }
- caption, th
- {
- text-align: left;
- }
- h1, h2, h3, h4, h5, h6
- {
- font-size: 100%;
-/* font-weight: normal; */
- }
- q:before, q:after
- {
- content: '';
- }
- abbr, acronym
- {
- border: 0;
- font-variant: normal;
- }
- sup
- {
- vertical-align: baseline;
- }
- sub
- {
- vertical-align: baseline;
- }
- tt, .qmlreadonly span, .qmldefault span
- {
- word-spacing:5px;
- }
- .heading
- {
- font: normal 600 16px/1.0 Arial;
- padding-bottom: 15px;
- }
- .subtitle
- {
- font-size: 13px;
- }
- .small-subtitle
- {
- font-size: 13px;
- }
- legend
- {
- color: #000000;
- }
- input, button, textarea, select, optgroup, option
- {
- font-family: inherit;
- font-size: inherit;
- font-style: inherit;
- font-weight: inherit;
- }
- input, button, textarea, select
- {
- font-size: 100%;
- }
- html
- {
- background-color: #e5e5e5;
- }
- body
- {
- background: #e6e7e8 url(../images/page_bg.png) repeat-x 0 0;
- font: normal 13px/1.2 Verdana;
- color: #363534;
- }
- strong
- {
- font-weight: bold;
- }
- em
- {
- font-style: italic;
- }
- a
- {
- color: #00732f;
- text-decoration: none;
- }
- .header, .footer, .wrapper
- {
- min-width: 600px;
- max-width: 1500px;
- margin: 0 30px;
- }
- .wrapper
- {
- background: url(../images/bg_r.png) repeat-y 100% 0;
- }
- .wrapper .hd
- {
- padding-left: 216px;
- height: 15px;
- background: url(../images/page.png) no-repeat 0 0;
- overflow: hidden;
- }
- .offline .wrapper .hd
- {
- background: url(../images/page.png) no-repeat 0 -15px;
- }
- .wrapper .hd span
- {
- height: 15px;
- display: block;
- overflow: hidden;
- background: url(../images/page.png) no-repeat 100% -30px;
- }
- .wrapper .bd
- {
- background: url(../images/bg_l.png) repeat-y 0 0;
- position: relative;
- }
- .offline .wrapper .bd
- {
- background: url(../images/bg_l_blank.png) repeat-y 0 0;
- }
- .wrapper .ft
- {
- padding-left: 216px;
- height: 15px;
- background: url(../images/page.png) no-repeat 0 -75px;
- overflow: hidden;
- }
- .offline .wrapper .ft
- {
- background: url(../images/page.png) no-repeat 0 -90px;
- }
- .wrapper .ft span
- {
- height: 15px;
- display: block;
- background: url(../images/page.png) no-repeat 100% -60px;
- overflow: hidden;
- }
- .header, .footer
- {
- display: block;
- clear: both;
- overflow: hidden;
- }
- .header
- {
- height: 115px;
- position: relative;
- }
- .header .icon
- {
- position: absolute;
- top: 13px;
- left: 0;
- }
- .header .qtref
- {
- position: absolute;
- top: 28px;
- left: 88px;
- width: 302px;
- height: 22px;
- }
- .header .qtref span
- {
- display: block;
- width: 302px;
- height: 22px;
- text-indent: -999em;
- background: url(../images/sprites-combined.png) no-repeat -78px -235px;
- }
-
- .sidebar
- {
- float: left;
- margin-left: 5px;
- width: 200px;
- font-size: 11px;
- }
-
- .offline .sidebar, .offline .feedback, .offline .t_button
- {
- display: none;
- }
-
- .sidebar .searchlabel
- {
- padding: 0 0 2px 17px;
- font: normal bold 11px/1.2 Verdana;
- }
-
- .sidebar .search
- {
- padding: 0 15px 0 16px;
- }
-
- .sidebar .search form
- {
- background: url(../images/sprites-combined.png) no-repeat -6px -348px;
- height:21px;
- padding:2px 0 0 5px;
- width:167px;
- }
-
- .sidebar .search form input#pageType
- {
- width: 158px;
- height: 19px;
- padding: 0;
- border: none;
- outline: none;
- font: 13px/1.2 Verdana;
- }
-
- .sidebar .box
- {
- padding: 17px 15px 5px 16px;
- }
-
- .sidebar .box .first
- {
- background-image: none;
- }
-
- .sidebar .box h2
- {
- font: normal 18px/1.2 Arial;
- padding: 0;
- min-height: 32px;
- }
- .sidebar .box h2 span
- {
- overflow: hidden;
- display: inline-block;
- }
- .sidebar .box#lookup h2
- {
- background-image: none;
- }
- .sidebar #lookup.box h2 span
- {
- background: url(../images/sprites-combined.png) no-repeat -6px -311px;
- width: 27px;
- height: 35px;
- margin-right: 13px;
- }
- .sidebar .box#topics h2
- {
- background-image: none;
- }
- .sidebar #topics.box h2 span
- {
- background: url(../images/sprites-combined.png) no-repeat -94px -311px;
- width: 27px;
- height: 32px;
- margin-right: 13px;
- }
- .sidebar .box#examples h2
- {
- background-image: none;
- }
- .sidebar #examples.box h2 span
- {
- background: url(../images/sprites-combined.png) no-repeat -48px -311px;
- width: 30px;
- height: 31px;
- margin-right: 9px;
- }
-
- .sidebar .box .list
- {
- display: block;
- max-height:200px;
- overflow-y:auto;
- overflow-x:none;
- }
- .sidebar .box .live
- {
- display: none;
- height: 100px;
- overflow: auto;
- }
- .list li a:hover, .live li a:hover
- {
- text-decoration: underline;
- }
- .sidebar .box ul
- {
- padding:10px;
- }
- .sidebar .box ul li
- {
- padding-left: 12px;
- background: url(../images/bullet_gt.png) no-repeat 0 5px;
- margin-bottom: 5px;
- }
- .sidebar .bottombar
- {
- background: url(../images/box_bg.png) repeat-x 0 bottom;
- }
- .wrap
- {
- margin: 0 5px 0 208px;
- overflow: visible;
- }
- .offline .wrap
- {
- margin: 0 5px 0 5px;
- }
- .wrap .toolbar
- {
- background-color: #fafafa;
- border-bottom: 1px solid #d1d1d1;
- height: 20px;
- position: relative;
- }
- .wrap .toolbar .toolblock
- {
- position: absolute;
- }
- .wrap .toolbar .breadcrumb
- {
- font-size: 11px;
- line-height: 1;
- padding: 0 0 10px 21px;
- height: 10px;
- }
- .wrap .toolbar .toolbuttons
- {
- padding: 0 0 10px 21px;
- right: 5px;
- vertical-align: middle;
- overflow: hidden;
- }
- .wrap .toolbar .toolbuttons .active
- {
- color: #00732F;
- }
- .wrap .toolbar .toolbuttons ul
- {
- float: right;
- }
- .wrap .toolbar .toolbuttons li
- {
- float: left;
- text-indent: -10px;
- margin-top: -5px;
- margin-right: 15px;
- font-weight: bold;
- color: #B0ADAB;
- }
-
- .toolbuttons #print
- {
- border-left: 1px solid #c5c4c4;
- margin-top: 0;
- padding-left: 7px;
- text-indent: 0;
- }
- .toolbuttons #print a
- {
- width: 16px;
- height: 16px;
- }
-
- .toolbuttons #print a span
- {
- width: 16px;
- height: 16px;
- text-indent: -999em;
- display: block;
- overflow: hidden;
- background: url(../images/sprites-combined.png) no-repeat -137px -311px;
- }
-
- .toolbuttons #smallA
- {
- font-size: 10pt;
- }
- .toolbuttons #medA
- {
- font-size: 12pt;
- }
- .toolbuttons #bigA
- {
- font-size: 14pt;
- margin-right: 7px;
- }
-
- #smallA:hover, #medA:hover, #bigA:hover
- {
- color: #00732F;
- }
-
- .offline .wrap .breadcrumb
- {
- }
-
- .wrap .breadcrumb ul
- {
- }
- .wrap .breadcrumb ul li
- {
- float: left;
- background: url(../images/breadcrumb.png) no-repeat 0 3px;
- padding-left: 15px;
- margin-left: 15px;
- font-weight: bold;
- }
- .wrap .breadcrumb ul li.last
- {
- font-weight: normal;
- }
- .wrap .breadcrumb ul li a
- {
- color: #363534;
- }
- .wrap .breadcrumb ul li.first
- {
- background-image: none;
- padding-left: 0;
- margin-left: 0;
- }
- .wrap .content
- {
- padding: 30px;
- word-wrap: break-word;
- }
-
- .wrap .content li
- {
- padding-left: 12px;
- background: url(../images/bullet_sq.png) no-repeat 0 5px;
- font: normal 400 10pt/1 Verdana;
- /* color: #44a51c;*/
- margin-bottom: 10px;
- }
- .content li:hover
- {
- /* text-decoration: underline;*/
- }
-
- .wrap .content ol li {
- background:none;
- font: inherit;
- margin-bottom:10px;
- padding-left: 0px
- }
-
- .wrap .content ol li {
- list-style-type:decimal;
- }
-
- .wrap .content .descr ol li {
- margin-left: 45px;
- }
-
- .wrap .content {
- padding-top: 15px;
- }
-
- .wrap .content ol img {
- vertical-align: middle;
- }
- .wrap .content ul img {
- vertical-align: middle;
- }
-
- .wrap .content h1
- {
- font: 600 18px/1.2 Arial;
- }
- .wrap .content h2
- {
- font: 600 16px/1.2 Arial;
- }
- .wrap .content h3
- {
- font: 600 14px/1.2 Arial;
- }
- .wrap .content p
- {
- line-height: 20px;
- padding: 5px;
- }
- .wrap .content table p
- {
- line-height: 20px;
- padding: 0px;
- }
- .wrap .content ul
- {
- padding-left: 25px;
- padding-top: 10px;
- }
- a:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
- .content a:visited
- {
- color: #4c0033;
- text-decoration: none;
- }
- .content a:visited:hover
- {
- color: #4c0033;
- text-decoration: underline;
- } .footer
- {
- min-height: 100px;
- color: #797775;
- font: normal 9px/1 Verdana;
- text-align: center;
- padding-top: 40px;
- background-color: #E6E7E8;
- margin: 0;
- }
- .feedback
- {
- float: none;
- position: absolute;
- right: 15px;
- bottom: 10px;
- font: normal 8px/1 Verdana;
- color: #B0ADAB;
- }
- .feedback:hover
- {
- float: right;
- font: normal 8px/1 Verdana;
- color: #00732F;
- text-decoration: underline;
- }
- .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
- #nav-topright
- {
- height: 70px;
- }
-
- #nav-topright ul
- {
- list-style-type: none;
- float: right;
- width: 370px;
- margin-top: 11px;
- }
-
- #nav-topright li
- {
- display: inline-block;
- margin-right: 20px;
- float: left;
- }
-
- #nav-topright li.nav-topright-last
- {
- margin-right: 0;
- }
-
- #nav-topright li a
- {
- background: transparent url(../images/sprites-combined.png) no-repeat;
- height: 18px;
- display: block;
- overflow: hidden;
- text-indent: -9999px;
- }
-
- #nav-topright li.nav-topright-home a
- {
- width: 65px;
- background-position: -2px -91px;
- }
-
- #nav-topright li.nav-topright-home a:hover
- {
- background-position: -2px -117px;
- }
-
-
- #nav-topright li.nav-topright-dev a
- {
- width: 30px;
- background-position: -76px -91px;
- }
-
- #nav-topright li.nav-topright-dev a:hover
- {
- background-position: -76px -117px;
- }
-
-
- #nav-topright li.nav-topright-labs a
- {
- width: 40px;
- background-position: -114px -91px;
- }
-
- #nav-topright li.nav-topright-labs a:hover
- {
- background-position: -114px -117px;
- }
-
- #nav-topright li.nav-topright-doc a
- {
- width: 32px;
- background-position: -162px -91px;
- }
-
- #nav-topright li.nav-topright-doc a:hover, #nav-topright li.nav-topright-doc-active a
- {
- background-position: -162px -117px;
- }
-
- #nav-topright li.nav-topright-blog a
- {
- width: 40px;
- background-position: -203px -91px;
- }
-
- #nav-topright li.nav-topright-blog a:hover, #nav-topright li.nav-topright-blog-active a
- {
- background-position: -203px -117px;
- }
-
- #nav-topright li.nav-topright-shop a
- {
- width: 40px;
- background-position: -252px -91px;
- }
-
- #nav-topright li.nav-topright-shop a:hover, #nav-topright li.nav-topright-shop-active a
- {
- background-position: -252px -117px;
- }
-
- #nav-logo
- {
- background: transparent url(../images/sprites-combined.png ) no-repeat 0 -225px;
- left: -3px;
- position: absolute;
- width: 75px;
- height: 75px;
- top: 13px;
- }
- #nav-logo a
- {
- width: 75px;
- height: 75px;
- display: block;
- text-indent: -9999px;
- overflow: hidden;
- }
-
-
- .shortCut-topleft-inactive
- {
- padding-left: 3px;
- padding-right: 3px;
- background: transparent url( ../images/sprites-combined.png) no-repeat 0px -58px;
- height: 20px;
- }
- .shortCut-topleft-inactive span
- {
- font-variant: normal;
- }
- .shortCut-topleft-inactive span a:hover, .shortCut-topleft-active a:hover
- {
- text-decoration:none;
- }
- #shortCut
- {
- padding-top: 10px;
- font-weight: bolder;
- color: #b0adab;
- }
- #shortCut ul
- {
- list-style-type: none;
- float: left;
- margin-left: 100px;
- }
- #shortCut li
- {
- display: inline-block;
- margin-right: 25px;
- float: left;
- white-space: nowrap;
- }
- #shortCut li a
- {
- color: #b0adab;
- }
- #shortCut li a:hover
- {
- color: #44a51c;
- }
-
- hr
- {
- background-color: #E6E6E6;
- border: 1px solid #E6E6E6;
- height: 1px;
- width: 100%;
- text-align: left;
- margin: 15px 0px 15px 0px;
- }
-
- .content .alignedsummary
- {
- margin: 15px;
- }
- pre
- {
- border: 1px solid #DDDDDD;
- margin: 0 20px 10px 10px;
- padding: 20px 15px 20px 20px;
- overflow-x: auto;
- }
- table, pre
- {
- -moz-border-radius: 7px 7px 7px 7px;
- background-color: #F6F6F6;
- border: 1px solid #E6E6E6;
- border-collapse: separate;
- font-size: 11px;
- /*min-width: 395px;*/
- margin-bottom: 25px;
- display: inline-block;
- }
- thead
- {
- margin-top: 5px;
- font:600 12px/1.2 Arial;
- }
- th
- {
- padding: 5px 15px 5px 15px;
- background-color: #E1E1E1;
- /* border-bottom: 1px solid #E6E6E6;*/
- border-left: 1px solid #E6E6E6;
- /* border-right: 1px solid #E6E6E6;*/
- }
- td
- {
- padding: 3px 15px 3px 20px;
- /* border-left: 1px solid #E6E6E6;
- border-right: 1px solid #E6E6E6;*/
- }
- tr.odd td:hover, tr.even td:hover
- {
- /* border-right: 1px solid #C3C3C3;
- border-left: 1px solid #C3C3C3;*/
- }
-
- td.rightAlign
- {
- padding: 3px 15px 3px 10px;
- }
- table tr.odd
- {
- border-left: 1px solid #E6E6E6;
- background-color: #F6F6F6;
- color: #66666E;
- }
- table tr.even
- {
- border-left: 1px solid #E6E6E6;
- background-color: #ffffff;
- color: #66666E;
- }
- table tr.odd td:hover, table tr.even td:hover
- {
- background-color: #E6E6E6;
- }
-
- span.comment
- {
- color: #8B0000;
- font-style: italic;
- }
- span.string, span.char
- {
- color: #254117;
- }
-
- .qmltype
- {
- text-align: center;
- font-size: 160%;
- }
- .qmlreadonly
- {
- float: right;
- color: #254117;
- }
-
- .qmldefault
- {
- float: right;
- color: red;
- }
-
- .qmldoc
- {
- }
-
- *.qmlitem p
- {
- }
-
- #feedbackBox
- {
- display: none;
- -moz-border-radius: 7px 7px 7px 7px;
- border: 1px solid #DDDDDD;
- position: fixed;
- top: 100px;
- left: 33%;
- height: 190px;
- width: 400px;
- padding: 5px;
- background-color: #e6e7e8;
- z-index: 4;
- }
- #feedcloseX
- {
- display: inline;
- padding: 5px 5px 0 0;
- margin-bottom: 3px;
- color: #363534;
- font-weight: 600;
- float: right;
- text-decoration: none;
- }
-
- #feedbox
- {
- display: inline;
- width: 370px;
- height: 120px;
- margin: 0px 25px 10px 15px;
- }
- #feedsubmit
- {
- display: inline;
- float: right;
- margin: 4px 32px 0 0;
- }
- #blurpage
- {
- display: none;
- position: fixed;
- float: none;
- top: 0px;
- left: 0px;
- right: 0px;
- bottom: 0px;
- background: transparent url(../images/feedbackground.png) 0 0;
- z-index: 3;
- }
- .toc
- {
- float: right;
- -moz-border-radius: 7px 7px 7px 7px;
- background-color: #F6F6F6;
- border: 1px solid #DDDDDD;
- margin: 0 20px 10px 10px;
- padding: 20px 15px 20px 20px;
- height: auto;
- width: 200px;
- }
-
- .toc h3, .generic a
- {
- font: 600 12px/1.2 Arial;
- }
-
- .generic{
- max-width:75%;
- }
- .generic td{
- padding:0;
- }
-
- .generic .odd .alphaChar{
- background-color: #F6F6F6;
- }
-
- .generic .even .alphaChar{
- background-color: #FFFFFF;
- }
-
- .alignedsummary{}
- .propsummary{}
- .memItemLeft{}
- .memItemRight{}
- .bottomAlign{}
- .highlightedCode
- {
- margin:10px;
- }
- .LegaleseLeft{}
- .valuelist{}
- .annotated{}
- .obsolete{}
- .compat{}
- .flags{}
- .qmlsummary{}
- .qmlitem{}
- .qmlproto{}
- .qmlname{}
- .qmlreadonly{}
- .qmldefault{}
- .qmldoc{}
- .qt-style{}
- .redFont{}
- code{}
-
- .wrap .content .toc ul
- {
- padding-left: 0px;
- }
-
-
- .wrap .content .toc .level2
- {
- margin-left: 15px;
- }
-
- .wrap .content .toc .level3
- {
- margin-left: 30px;
- }
-
- .content .toc li
- {
- font: normal 10px/1.2 Verdana;
- background: url(../images/bullet_dn.png) no-repeat 0 5px;
- }
-
- .relpage
- {
- -moz-border-radius: 7px 7px 7px 7px;
- border: 1px solid #DDDDDD;
- padding: 25px 25px;
- clear: both;
- }
- .relpage ul
- {
- float: none;
- padding: 15px;
- }
- .content .relpage li
- {
- font: normal 11px/1.2 Verdana;
- }
- h3.fn, span.fn
- {
- background-color: #F6F6F6;
- border-width: 1px;
- border-style: solid;
- border-color: #E6E6E6;
- font-weight: bold;
- word-spacing:3px;
- }
-
- .functionIndex {
- font-size:12pt;
- word-spacing:10px;
- margin-bottom:10px;
- background-color: #F6F6F6;
- border-width: 1px;
- border-style: solid;
- border-color: #E6E6E6;
- width:100%;
- }
-
- .centerAlign
- {
- text-align:center;
- }
-
- .rightAlign
- {
- text-align:right;
- }
-
-
- .leftAlign
- {
- text-align:left;
- }
-
- .topAlign{
- vertical-align:top
- }
-
- .functionIndex a{
- display:inline-block;
- }
-
- /* start index box */
- .indexbox
- {
- width: 100%;
- display:inline-block;
- }
-
- .indexboxcont
- {
- display: block;
- /* overflow: hidden;*/
- }
-
- .indexboxbar
- {
- background: transparent url(../images/horBar.png ) repeat-x left bottom;
- margin-bottom: 25px;
- /* background-image: none;
- border-bottom: 1px solid #e2e2e2;*/
- }
-
- .indexboxcont .section
- {
- display: inline-block;
- width: 49%;
- *width:42%;
- _width:42%;
- padding:0 2% 0 1%;
- vertical-align:top;
-
-}
-
- .indexboxcont .indexIcon
- {
- width: 11%;
- *width:18%;
- _width:18%;
- overflow:hidden;
-
-}
-
-.indexboxcont .section {
- float: left;
-}
-
- .indexboxcont .section p
- {
- padding-top: 20px;
- padding-bottom: 20px;
- }
- .indexboxcont .sectionlist
- {
- display: inline-block;
- vertical-align:top;
- width: 32.5%;
- padding: 0;
- }
- .indexboxcont .sectionlist ul
- {
- margin-bottom: 20px;
- }
-
- .indexboxcont .sectionlist ul li
- {
- line-height: 12px;
- }
-
- .content .indexboxcont li
- {
- font: normal 600 13px/1 Verdana;
- }
-
- .indexbox a:hover, .indexbox a:visited:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
-
- .indexbox a:visited
- {
- color: #00732f;
- text-decoration: none;
- }
-
- .indexbox .indexIcon {
- width: 11%;
- }
-
-
- .indexbox .indexIcon span
- {
- display: block;
- }
-
- .indexbox.guide .indexIcon span
- {
- width: 96px;
- height: 137px;
- background: url(../images/sprites-combined.png) no-repeat -5px -376px;
- padding: 0;
- }
-
- .indexbox.tools .indexIcon span
- {
- width: 115px;
- height: 137px;
- background: url(../images/sprites-combined.png) no-repeat -111px -376px;
- padding: 0;
- }
- .indexboxcont:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
-
-.sidebar .search form input.loading
-{
- background:url("../images/spinner.gif") no-repeat scroll right center transparent;
-}
-
- /* end of screen media */
-
-.flowList{
-vertical-align:top;
-}
-.alphaChar{
-width:100%;
-background-color:#F6F6F6;
-border:1px solid #E6E6E6;
-font-size:12pt;
-padding-left:10px;
-margin-top:10px;
-margin-bottom:10px;
-}
-
-.flowList dl{
-}
-.flowList dd{
-display:inline-block;
-margin-left:10px;
-width:250px;
-}
-.wrap .content .flowList p{
-padding:0px;
-}
-pre.highlightedCode {
- display: block;
- overflow:hidden;
-}
-
-}
-/* end of screen media */
-
-/* start of print media */
-
-@media print
-{
- input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
- {
- display: none;
- background: none;
- }
- .content
- {
- position: absolute;
- top: 0px;
- left: 0px;
- background: none;
- display: block;
- }
-}
-/* end of print media */
diff --git a/doc/pluginhowto/templates/style/style_ie6.css b/doc/pluginhowto/templates/style/style_ie6.css
deleted file mode 100644
index 16fb8505df..0000000000
--- a/doc/pluginhowto/templates/style/style_ie6.css
+++ /dev/null
@@ -1,54 +0,0 @@
-.indexbox, .indexboxcont, .group {
- zoom: 1;
- height: 1%;
-}
-
-.sidebar {
- margin-left: 3px;
- width: 199px;
- overflow: hidden;
-}
-
-.sidebar .search form {
- position: relative;
-}
-
-.sidebar .search form fieldset {
- position: absolute;
- margin-top: -1px;
-}
-
-.sidebar .search form input#searchstring {
- border: 1px solid #fff;
- height: 18px;
-}
-
-.wrap {
- zoom: 1;
-}
-
-.content,
-.toolbar {
- zoom: 1;
- margin-left: -3px;
- position: relative;
-}
-
-.indexbox {
- clear: both;
-}
-
-.indexboxcont .section {
- zoom: 1;
- float: left;
-}
-
-.indexboxcont .sectionlist {
- zoom: 1;
- float: left;
-}
-
-.wrap .toolbar .toolbuttons li {
- text-indent: 0;
- margin-right: 8px;
-} \ No newline at end of file
diff --git a/doc/pluginhowto/templates/style/style_ie7.css b/doc/pluginhowto/templates/style/style_ie7.css
deleted file mode 100644
index afbff5f88e..0000000000
--- a/doc/pluginhowto/templates/style/style_ie7.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.indexbox, .indexboxcont, .group {
- min-height: 1px;
-}
-
-.sidebar .search form input#searchstring {
- border: 1px solid #fff;
- height: 17px;
-}
-
-
-.indexboxcont .section {
- zoom: 1;
- float: left;
-}
-
-.indexboxcont .sectionlist {
- zoom: 1;
- float: left;
-}
diff --git a/doc/pluginhowto/templates/style/style_ie8.css b/doc/pluginhowto/templates/style/style_ie8.css
deleted file mode 100644
index e69de29bb2..0000000000
--- a/doc/pluginhowto/templates/style/style_ie8.css
+++ /dev/null
diff --git a/doc/pluginhowto/templates/style/superfish.css b/doc/pluginhowto/templates/style/superfish.css
deleted file mode 100644
index 0cf0f7dc96..0000000000
--- a/doc/pluginhowto/templates/style/superfish.css
+++ /dev/null
@@ -1,51 +0,0 @@
-.sf-menu, .sf-menu * {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-.sf-menu {
- line-height: 1.0;
-}
-.sf-menu ul {
- position: absolute;
- top: -999em;
- width: 10em; /* left offset of submenus need to match (see below) */
-}
-.sf-menu ul li {
- width: 100%;
-}
-.sf-menu li:hover {
- visibility: inherit; /* fixes IE7 'sticky bug' */
-}
-.sf-menu li {
- float: left;
- position: relative;
-}
-.sf-menu a {
- display: block;
- position: relative;
-}
-.sf-menu li:hover ul,
-.sf-menu li.sfHover ul {
- left: 0;
- top: 2.5em; /* match top ul list item height */
- z-index: 99;
-}
-ul.sf-menu li:hover li ul,
-ul.sf-menu li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li:hover ul,
-ul.sf-menu li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
-ul.sf-menu li li:hover li ul,
-ul.sf-menu li li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li li:hover ul,
-ul.sf-menu li li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
diff --git a/doc/pluginhowto/templates/style/superfish_skin.css b/doc/pluginhowto/templates/style/superfish_skin.css
deleted file mode 100644
index 8d84827c41..0000000000
--- a/doc/pluginhowto/templates/style/superfish_skin.css
+++ /dev/null
@@ -1,83 +0,0 @@
-
-/*** DEMO SKIN ***/
-.sf-menu {
- float: left;
- margin-bottom: 1em;
-}
-.sf-menu a {
- border-left: 1px solid #fff;
- border-top: 1px solid #CFDEFF;
- padding: .75em 1em;
- text-decoration:none;
-}
-.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
- color: #13a;
-}
-.sf-menu li {
- background: #BDD2FF;
-}
-.sf-menu li li {
- background: #AABDE6;
-}
-.sf-menu li li li {
- background: #9AAEDB;
-}
-.sf-menu li:hover, .sf-menu li.sfHover,
-.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
- background: #CFDEFF;
- outline: 0;
-}
-
-/*** arrows **/
-.sf-menu a.sf-with-ul {
- padding-right: 2.25em;
- min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
-}
-.sf-sub-indicator {
- position: absolute;
- display: block;
- right: .75em;
- top: 1.05em; /* IE6 only */
- width: 10px;
- height: 10px;
- text-indent: -999em;
- overflow: hidden;
- background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
-}
-a > .sf-sub-indicator { /* give all except IE6 the correct values */
- top: .8em;
- background-position: 0 -100px; /* use translucent arrow for modern browsers*/
-}
-/* apply hovers to modern browsers */
-a:focus > .sf-sub-indicator,
-a:hover > .sf-sub-indicator,
-a:active > .sf-sub-indicator,
-li:hover > a > .sf-sub-indicator,
-li.sfHover > a > .sf-sub-indicator {
- background-position: -10px -100px; /* arrow hovers for modern browsers*/
-}
-
-/* point right for anchors in subs */
-.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
-.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
-/* apply hovers to modern browsers */
-.sf-menu ul a:focus > .sf-sub-indicator,
-.sf-menu ul a:hover > .sf-sub-indicator,
-.sf-menu ul a:active > .sf-sub-indicator,
-.sf-menu ul li:hover > a > .sf-sub-indicator,
-.sf-menu ul li.sfHover > a > .sf-sub-indicator {
- background-position: -10px 0; /* arrow hovers for modern browsers*/
-}
-
-/*** shadows for all but IE6 ***/
-.sf-shadow ul {
- background: url('../images/shadow.png') no-repeat bottom right;
- padding: 0 8px 9px 0;
- -moz-border-radius-bottomleft: 17px;
- -moz-border-radius-topright: 17px;
- -webkit-border-top-right-radius: 17px;
- -webkit-border-bottom-left-radius: 17px;
-}
-.sf-shadow ul.sf-shadow-off {
- background: transparent;
-}
diff --git a/doc/pluginhowto/vcs.qdoc b/doc/pluginhowto/vcs.qdoc
deleted file mode 100644
index 03be51a54e..0000000000
--- a/doc/pluginhowto/vcs.qdoc
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- \page vcs.html
- \title 12.Implementing version control system
-
- This page needs to be written still!
-*/