From 44c107c26797a7a114419b7392b520c8a69c33d7 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 27 Sep 2011 11:54:44 +0200 Subject: [PATCH] Doc: move misc overview topics to a separate folder Change-Id: I7bcf4edb2e23c669b000e08a1d6ce14b3982fd0d Reviewed-on: http://codereview.qt-project.org/5610 Reviewed-by: Qt Sanity Bot Reviewed-by: Eike Ziller Reviewed-by: Casper van Donderen --- .../overview/creator-acknowledgements.qdoc | 126 ++++++ doc/src/overview/creator-advanced.qdoc | 71 ++++ .../overview/creator-deployment-overview.qdoc | 57 +++ doc/src/overview/creator-deployment-ovi.qdoc | 68 ++++ doc/src/overview/creator-design-overview.qdoc | 74 ++++ doc/src/overview/creator-getting-started.qdoc | 50 +++ doc/src/overview/creator-glossary.qdoc | 89 +++++ doc/src/overview/creator-issues.qdoc | 174 +++++++++ doc/src/overview/creator-overview.qdoc | 364 ++++++++++++++++++ .../overview/creator-supported-platforms.qdoc | 107 +++++ .../overview/creator-target-platforms.qdocinc | 60 +++ doc/src/overview/creator-tech-support.qdoc | 70 ++++ doc/src/overview/mobile-app-design.qdoc | 127 ++++++ 13 files changed, 1437 insertions(+) create mode 100644 doc/src/overview/creator-acknowledgements.qdoc create mode 100644 doc/src/overview/creator-advanced.qdoc create mode 100644 doc/src/overview/creator-deployment-overview.qdoc create mode 100644 doc/src/overview/creator-deployment-ovi.qdoc create mode 100644 doc/src/overview/creator-design-overview.qdoc create mode 100644 doc/src/overview/creator-getting-started.qdoc create mode 100644 doc/src/overview/creator-glossary.qdoc create mode 100644 doc/src/overview/creator-issues.qdoc create mode 100644 doc/src/overview/creator-overview.qdoc create mode 100644 doc/src/overview/creator-supported-platforms.qdoc create mode 100644 doc/src/overview/creator-target-platforms.qdocinc create mode 100644 doc/src/overview/creator-tech-support.qdoc create mode 100644 doc/src/overview/mobile-app-design.qdoc diff --git a/doc/src/overview/creator-acknowledgements.qdoc b/doc/src/overview/creator-acknowledgements.qdoc new file mode 100644 index 00000000000..ad9acf2b69a --- /dev/null +++ b/doc/src/overview/creator-acknowledgements.qdoc @@ -0,0 +1,126 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-glossary.html + \page creator-acknowledgements.html + + \title Acknowledgements + + \section1 Third-party Components + + \QC contains the following third-party components: + + \list + + \o \bold{Open Source front-end for C++ (license MIT)}, enhanced for use + in \QC.\br + Roberto Raggi \br + QtCreator/src/shared/cplusplus\br\br + + \o \bold{Botan, a C++ crypto library. Version 1.8.8}\br + + \list + \o Copyright (C) 1999-2004 The Botan Project. All rights + reserved. + \o Copyright (C) 1999-2009 Jack Lloyd + \o 2001 Peter J Jones + \o 2004-2007 Justin Karneges + \o 2005 Matthew Gregan + \o 2005-2006 Matt Johnston + \o 2006 Luca Piccarreta + \o 2007 Yves Jerschow + \o 2007-2008 FlexSecure GmbH + \o 2007-2008 Technische Universitat Darmstadt + \o 2007-2008 Falko Strenzke + \o 2007-2008 Martin Doering + \o 2007 Manuel Hartl + \o 2007 Christoph Ludwig + \o 2007 Patrick Sona + \endlist + + All rights reserved.\br\br + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met:\br\br + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions, and the following disclaimer.\br\br + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the following disclaimer in the + documentation and/or other materials provided with the distribution.\br + \br + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) "AS IS" AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\br\br + The source code of Botan C++ crypto library can be found + here: + \list + \o QtCreator/src/libs/3rdparty + \o \l{http://qt.gitorious.org/qt-creator/qt-creator/trees/master/src/libs/3rdparty} + \endlist + \br\br + + \o \bold{NetSieben SSH Library is a Secure Shell client library for C++. + Version 1.3.2}\br + \list + \o \bold{Commercial License:} For organizations who do not want to + release the source code for their applications as open source/ + free software; in other words they do not want to comply with the + GNU General Public License (GPL) or Q Public License. + \o \bold{Non Commercial / Open Source License:} NetSieben believes in + contributing back to the open source community, thus it has released + the SSH Library under Q Public License as it is defined by Trolltech + AS of Norway. The Open Source License allows the user to use software + under an open source / free software license, and distribute it + freely. The software can be used at no charge with the condition + that if the user uses the SSH Library in an application they wish to + redistribute, then the complete source code for your application must + be available and freely redistributable under reasonable conditions. + For more information on the used QPL License see: + QtCreator/src/libs/3rdparty/net7ssh/LICENSE.QPL + \endlist\br\br + The source code of NetSieben Secure Shell C++ Library can be found + here: + \list + \o QtCreator/src/libs/3rdparty + \o \l{http://qt.gitorious.org/qt-creator/qt-creator/trees/master/src/libs/3rdparty} + \endlist + \endlist +*/ diff --git a/doc/src/overview/creator-advanced.qdoc b/doc/src/overview/creator-advanced.qdoc new file mode 100644 index 00000000000..ec49e7d28a6 --- /dev/null +++ b/doc/src/overview/creator-advanced.qdoc @@ -0,0 +1,71 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-help.html + \page creator-advanced.html + \nextpage creator-os-supported-platforms.html + + \title Advanced Use + + \QC attempts to meet your development needs, whether you are an + experienced Qt developer or a newcomer to Qt. When you install \QC + as a part of \QSDK, the default configuration allows you to start coding, + building, running and debugging applications with very little effort. + + However, you can easily change or extend the default configuration, by + choosing a different build system, adding project wizards, integrating + external tools, or editing the standard MIME types that \QC uses + to recognize your files. + + You can start \QC and specify some options for running it from the + command line. + + This following topics describe advanced use of \QC: + + \list + \o \l{Supported Platforms} + \o \l{Adding New Custom Wizards} + \o \l{Setting Up a CMake Project} + \o \l{Setting Up a Generic Project} + \o \l{Using Version Control Systems} + \if defined(qcmanual) + \o \l{Adding Qt Designer Plugins} + \endif + \o \l{Using External Tools} + \if defined(qcmanual) + \o \l{Using Maemo or MeeGo Harmattan Emulator} + \endif + \o \l{Editing MIME Types} + \o \l{Showing Task List Files in the Build Issues Pane} + \o \l{Using Command Line Options} + \o \l{Keyboard Shortcuts} + \o \l{Glossary} + \endlist + +*/ diff --git a/doc/src/overview/creator-deployment-overview.qdoc b/doc/src/overview/creator-deployment-overview.qdoc new file mode 100644 index 00000000000..66766491444 --- /dev/null +++ b/doc/src/overview/creator-deployment-overview.qdoc @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-running-valgrind-remotely.html + \page creator-deployment.html + \nextpage creator-deployment-symbian.html + + \title Deploying Applications to Mobile Devices + + Deploy configurations in the \gui Project mode \gui {Run Settings} handle + the packaging of the application as an executable and copying it to a + location you want to run the executable at. The files can be copied to a + location in the file system of the development PC or a mobile device. + + When you are ready to publish the application on a publishing channel, you + must make sure that the installation file meets the requirements for + publishing and installing applications to the target devices. The following + sections describe the steps that you have to take to create installation + packages for publishing on different channels: + + \if defined(qcmanual) + \list + \o \l{Deploying Applications to Symbian Devices} + \o \l{Deploying Applications to Maemo or MeeGo Harmattan Devices} + \o \l{Publishing Maemo Applications to Extras-devel} + \o \l{Publishing Applications to Ovi Store} + \o \l{Building with Remote Compiler} + + \endlist + \endif +*/ diff --git a/doc/src/overview/creator-deployment-ovi.qdoc b/doc/src/overview/creator-deployment-ovi.qdoc new file mode 100644 index 00000000000..a6e86f96736 --- /dev/null +++ b/doc/src/overview/creator-deployment-ovi.qdoc @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-publishing-to-maemo-extras.html + \page creator-publish-ovi.html + \nextpage creator-publish-ovi-symbian.html + + \title Publishing Applications to Ovi Store + + Ovi Store is the global content market of Nokia, which reaches millions of + people worldwide. Consumers can access Ovi Store through either of these + platforms: + + \list + + \o Ovi Store applications on mobile devices + + \o Web browsers on desktop computers, laptops, netbooks, and tablets + + \endlist + + Consumers have access to a wide selection of content and can download + content in a few easy clicks. + + The process and requirements to publish Qt applications to Ovi Store are + described in the + \l {http://www.developer.nokia.com/Community/Wiki/Guide_to_Publishing_Qt_Applications_to_the_Ovi_Store} + {Guide to Publishing Qt Applications to the Ovi Store} wiki. + + This section describes how to generate installation packages that you can + publish to Ovi Store. + + \if defined(qcmanual) + \list + + \o \l{Publishing Qt Content for Symbian Devices} + \o \l{Publishing Qt Content for Maemo Devices} + \o \l{Publishing Qt Content for MeeGo Harmattan Devices} + + \endlist + \endif +*/ diff --git a/doc/src/overview/creator-design-overview.qdoc b/doc/src/overview/creator-design-overview.qdoc new file mode 100644 index 00000000000..4cded56c660 --- /dev/null +++ b/doc/src/overview/creator-design-overview.qdoc @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-editor-fakevim.html + \page creator-design-mode.html + \nextpage creator-visual-editor.html + + \title Developing Application UI + + Large high-resolution screens, touch input, and significant graphics power + are becoming common in portable consumer devices, such as mobile phones, + media players, set-top boxes, and netbooks. To fully benefit from these + features and to create intuitive, modern-looking, fluid user interfaces, + you can use \l {http://doc.qt.nokia.com/4.7/qtquick.html}{Qt Quick}. + + Qt Quick consists of a rich set of user interface elements, a declarative + language for describing user interfaces, and a language runtime. A + collection of C++ APIs is used to integrate these high level features with + classic Qt applications. + + You can edit QML code in the code editor or in the integrated \QMLD. + + \image qtcreator-design-mode.png "Design mode" + + The integration includes project management and code completion. + + \if defined(qcmanual) + If you need a traditional user interface that is clearly structured and + enforces a platform look and feel, you can use the integrated \QD. You can + compose and customize your widgets or dialogs and test them using different + styles and resolutions. + \endif + + The following sections describe how to develop application UI: + + \list + + \o \l{Developing Qt Quick Applications} + + \if defined(qcmanual) + \o \l{Developing Widget Based Applications} + \endif + + \o \l{Optimizing Applications for Mobile Devices} + + \endlist + +*/ diff --git a/doc/src/overview/creator-getting-started.qdoc b/doc/src/overview/creator-getting-started.qdoc new file mode 100644 index 00000000000..c393c03b291 --- /dev/null +++ b/doc/src/overview/creator-getting-started.qdoc @@ -0,0 +1,50 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-quick-tour.html + \page creator-getting-started.html + \nextpage creator-build-example-application.html + + \title Getting Started + + This section contains examples that illustrate how to use \QC to create, + build, and run simple applications: + + \list + \o \l{Building and Running an Example Application} + \o \l{Creating a Qt Quick Application} + \if defined(qcmanual) + \o \l{Creating a Qt Quick Application Using Qt Quick Components} + \o \l{Creating a Qt Widget Based Application} + \o \l{Creating a Qt Widget Based Mobile Application} + \endif + + \endlist + +*/ diff --git a/doc/src/overview/creator-glossary.qdoc b/doc/src/overview/creator-glossary.qdoc new file mode 100644 index 00000000000..8d3ae9549eb --- /dev/null +++ b/doc/src/overview/creator-glossary.qdoc @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage technical-support.html + \page creator-glossary.html + \nextpage creator-acknowledgements.html + + \title Glossary + + \table + \header + \o Term + \o Meaning + + \row + \o + \raw HTML + Qt in PATH + \endraw + \target glossary-system-qt + \o This is the Qt + version for the \c qmake command found in your \c PATH + environment variable. + This is likely to be the system's Qt version. + + + \row + \o + \raw HTML + Project Qt + \endraw + \target glossary-project-qt + \o The version of Qt configured in the \gui{Projects} mode, + \gui {Build Settings}, \gui {Qt Version} field. This is the Qt + version that is actually used by a particular project. + + \row + \o + \raw HTML + Shadow build + \endraw + \target glossary-shadow-build + \o Shadow building means building a project in a separate + directory, the \e{build directory}. The build directory is + different from the source directory. One of the benefits of + shadow building is that it keeps your source directory clean. + Shadow building is the best practice if you need many build + configurations for a single set of source. + + \row + \o + \raw HTML + Target + \endraw + \target glossary-development-target + \o Target means the software platform for which you develop an + application. Qt Creator groups platform specific settings (such + as build configurations, compatible tool chains, and supported + Qt versions) as targets to make cross-platform development + easier. + \endtable + +*/ diff --git a/doc/src/overview/creator-issues.qdoc b/doc/src/overview/creator-issues.qdoc new file mode 100644 index 00000000000..80a6639e52f --- /dev/null +++ b/doc/src/overview/creator-issues.qdoc @@ -0,0 +1,174 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-tips.html + \page creator-known-issues.html + \nextpage technical-support.html + + \title Known Issues + + This section lists known issues in \QC version \qtcversion. The development + team is aware of them, and therefore, you do not need to report them as + bugs. + + For a list of fixed issues and added features, see the changelog file in + the \c{qtcreator\dist} folder or the \l{https://bugreports.qt.nokia.com} + {Qt Bug Tracker}. + + \section1 General Issues + + \list + + \o If you change the Input Languages in Windows, \QC might not + respond for 30 seconds. This is a known issue in the Advanced Text + Service of Microsoft Windows. + + \o \QC uses SQLite for storing some of its settings. SQLite is + known to have problems with certain NFS servers (most notably the + nfs-user-server 2.2beta), since they can lock up the application + when it tries to lock the database. If your home directory is on an + NFS share and you encounter this issue, one option would be to + switch to the nfs-kernel-server, or create a symlink so that the + settings are stored locally. + + \o The Okteta KDE custom widget plugin might be installed as part of + some Linux distributions. It can cause Qt Designer to crash. For + more information, see: + + \list + + \o \l{https://bugs.launchpad.net/ubuntu/+source/kdeutils/+bug/662005} + {Ubuntu bug 662005} + + \o \l{https://bugreports.qt.nokia.com/browse/QTBUG-12025} + {QTBUG-12025} + + \endlist + + To resolve the issue, enter the following command to remove the + package: + \code + sudo apt-get remove okteta + \endcode + Or delete the following file: + \c /usr/lib/kde4/plugins/designer/oktetadesignerplugin.so. + + \endlist + + \section1 Editing Issues + + \list + + \o Code completion does not support typedefs for nested classes. + + \endlist + + \section1 Projects Issues + + \list + + \o Paths or file names containing spaces or special characters + (such as colons, dollar signs, and hash marks) may cause problems. + This is because some of the tools \QC uses in the background have + restrictions on the characters allowed in file and directory names. + To be on the safe side, we recommend creating projects and project + items with names consisting of plain characters, numbers, + underscores, and hyphens. + + \o Creating new CMake projects with \QC is not supported. + + \if defined(qcmanual) + \o On Windows, you must create projects for Maemo 5 and Harmattan + targets on the same partition where you installed \QSDK, \QC, and + MADDE. + \endif + + \o If error messages displayed in the \gui {Compile Output} pane contain + paths where slashes are missing (for example, C:QtSDK), + check your PATH variable. For more information, see + \l{Troubleshooting MinGW Compilation Errors}. + + \endlist + + \section1 Debugging Issues + + \list + + \o Debugging large applications on Symbian devices using the Symbian^3 + operating system might not work, because the on-device debugging + agent might not be able to access memory when the operating system + starts paging. This causes breakpoint handling and symbol resolution + to fail. For more information, see + \l{https://bugreports.qt.nokia.com/browse/QTCREATORBUG-2158} + {QTCREATORBUG-2158}. + + As a workaround, add the following section to the application .pro + file to disable paging: + + \code + debug { + MMP_RULES -= PAGED + MMP_RULES *= UNPAGED + } + \endcode + + \note You must completely clean and rebuild the project for the + setting to take effect. + + \o When debugging executables created by the GNU Compiler version 4.5.0 + (all platforms), some data types will not be displayed in the + \gui{Locals and Expressions} view due to missing debug information. + + \o GDB on Windows may not work if the 'Embassy \reg Security Center' + software by 'Wave \reg Systems' is installed and active (causing + crashes in \c{vxvault.dll)}). + + \o GDB may take long to load debugging symbols, especially from large + libraries. + + \o Setting breakpoints in code that is compiled into the binary more + than once does not work. + + \o Setting breakpoints in files that do not have unique absolute + paths may fail. For example, remounting parts of a file system + using the --bind mount option. + + \endlist + + \section1 Qt Quick Designer Issues + + \list + + \o \QMLD uses external processes (QML Puppet) to render and preview + images and to collect data. Executing C++ code might cause the QML + Puppet to crash. If it crashes, an error message is displayed and + you can continue editing the QML file in the code editor. + + \endlist +*/ diff --git a/doc/src/overview/creator-overview.qdoc b/doc/src/overview/creator-overview.qdoc new file mode 100644 index 00000000000..292a081903f --- /dev/null +++ b/doc/src/overview/creator-overview.qdoc @@ -0,0 +1,364 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage index.html + \page creator-overview.html + \nextpage creator-quick-tour.html + + \title IDE Overview + + \QC is an integrated development environment (IDE) that provides you with + tools to design and develop applications with the Qt application framework. + Qt is designed for developing applications and user interfaces once and + deploying them across several desktop and mobile operating systems. \QC + provides you with tools for accomplishing your tasks throughout the whole + application development life-cycle, from creating a project to deploying the + application on the target platforms. + + \image qtcreator-overview.png "Overview" + + \section1 Cross-platform Development + + One of the major advantages of \QC is that it allows a team of developers + to share a project across different development platforms with a common tool + for development and debugging. + + The recommended way to build a project is to use a version control system. + Store and edit only project source files and build system configuration + files (for example, .pro and .pri files for qmake). Do not store files + generated by the build system or \QC, such as makefiles, .pro.user, and + object files. Other approaches are possible, but we recommend that you do + not use network resources, for example. + + \QC allows you to specify separate build settings for each development + platform. By default, \l{glossary-shadow-build}{shadow builds} are used to + keep the build specific files separate from the source. + + You can create separate versions of project files to keep platform-dependent + code separate. You can use qmake + \l{http://qt.nokia.com/doc/4.7/qmake-tutorial.html#adding-platform-specific-source-files} + {scopes} to select the file to process depending on which platform qmake is + run on. + + Items such as open files, breakpoints, and evaluated expressions are stored + in sessions. They are not considered to be part of the information shared + across platforms. + + \section1 Creating Projects + + But why do you need projects? To be able to build and run applications, + \QC needs the same information as a compiler would need. This information + is specified in the project build and run settings. + + Creating a project allows you to: + + \list + + \o Group files together + + \o Add custom build steps + + \o Include forms and resource files + + \o Specify settings for running applications + + \endlist + + Setting up a new project in \QC is aided by a wizard that guides you + step-by-step through the project creation process. In the first step, you + select the type of the project. Next, you select a location for the project + and specify settings for it. + + \image qtcreator-new-qt-quick-project-wizard.png + + When you have completed the steps, \QC automatically generates the project + with required headers, source files, user interface descriptions and project + files, as defined by the wizard. + For example, if you choose to create a Qt Quick application, \QC generates a + QML file that you can modify with the integrated \QMLD. + + \section2 Adding Libraries + + In addition to Qt libraries, you can link your application to other + libraries, such as system libraries or your own libraries. Further, your + own libraries might link to other libraries. To be able to compile your + project, you must add the libraries to your project. This also enables + code completion and syntax highlighting for the libraries. + The procedure of adding a library to a project depends on the build + system that you use. + + \section2 Version Control Systems + + \QC uses the version control system's command line clients to access your + repositories. The following version control systems are supported: + + \list + + \o Git + + \o Subversion + + \o Perforce + + \o CVS + + \o Mercurial + + \o Bazaar + + \endlist + + The functions available to you in \QC depend on the version control system. + Basic functions are available for all the supported systems. They include + comparing files with the latest versions stored in the repository and + displaying the differences, viewing versioning history and change details, + annotating files, and committing and reverting changes. + + \section1 Designing User Interfaces + + \if defined(qcmanual) + \QC provides two integrated visual editors, \QMLD and \QD. + + \image qtcreator-ui-designers.png "Qt Quick Designer and Qt Designer" + \endif + + + Large high-resolution screens, touch input, and significant graphics power + are becoming common in portable consumer devices, such as mobile + phones, media players, set-top boxes, and netbooks. To fully benefit from + these features and to create intuitive, modern-looking, fluid user + interfaces, you can use \l {http://doc.qt.nokia.com/4.7/qtquick.html} + {Qt Quick}. + + Qt Quick consists of a rich set of user interface elements, a declarative + language for describing user interfaces, and a language runtime. A + collection of C++ APIs is used to integrate these high level features with + classic Qt applications. + + You can edit QML code in the code editor or in the integrated \QMLD. + The integration includes project management and code completion. + + \if defined(qcmanual) + If you need a traditional user interface that is clearly structured and + enforces a platform look and feel, you can use the integrated \QD. You can + compose and customize your widgets or dialogs and test them using different + styles and resolutions. + \endif + + \section1 Code Editor + + As an IDE, \QC differs from a text editor in that it knows how to build and + run applications. It understands the C++ and QML languages as code, not just + as plain text. This allows it to: + + \list + + \o Enable you to write well formatted code + + \o Anticipate what you are going to write and complete the code + + \o Display inline error and warning messages + + \o Enable you to semantically navigate to classes, functions, and + symbols + + \o Provide you with context-sensitive help on classes, functions, and + symbols + + \o Rename symbols in an intelligent way, so that other symbols with the + same name that belong to other scopes are not renamed + + \o Show you the locations in code where a function is declared or + called + + \endlist + + You can use the code editor to write code in Qt C++ or in the QML + declarative programming language. QML is an extension to JavaScript, that + provides a mechanism to declaratively build an object tree of QML elements. + QML improves the integration between JavaScript and Qt's existing QObject + based type system, adds support for automatic property bindings and provides + network transparency at the language level. + + \section1 Building + + \QC is integrated with cross-platform systems for build automation: qmake + and CMake. In addition, you can import generic projects that do not use + qmake or CMake, and specify that \QC ignores your build system. + \if defined(qcmanual) + \QC provides support for building and running Qt applications for desktop + environment (Windows, Linux, and Mac OS) and mobile devices (Symbian, Maemo, + and MeeGo Harmattan). Build settings allow you to quickly switch between + build targets. + \endif + + + When you install tool chains for build targets as part of the \QSDK, the + build and run settings for mobile device targets are set up automatically. + However, you might need to install and configure some additional software on + the devices to be able to connect to them from the development PC. + + \note The only supported build system for mobile applications in \QC is + qmake. + + \section1 Testing + + If you install \QC as part of \QSDK, the GNU Symbolic Debugger is installed + automatically and you should be ready to start debugging after you create a + new project. However, you can change the setup to use debugging tools for + Windows, for example. You can connect mobile devices to your development PC + and debug processes running on the devices. + + You can use code analysis tools to detect memory leaks, profile cache usage, + and profile Qt Quick applications. + + You can test applications that are intended for mobile devices in a + simulator or emulator, but you also need to test the applications on real + devices. + + \section2 Debuggers + + \QC is integrated to several external native debuggers: + + \list + + \o GNU Symbolic Debugger (GDB) + + \o Microsoft Console Debugger (CDB) + + \o internal JavaScript debugger + + \endlist + + You can use the \QC \gui Debug mode to inspect the state of your application + while debugging. You can interact with the debugger in several ways, + including the following: + + \list + + \o Go through a program line-by-line or instruction-by-instruction. + + \o Interrupt running programs. + + \o Set breakpoints. + + \o Examine the contents of the call stack. + + \o Examine and modify registers and memory contents of + the debugged program. + + \o Examine and modify registers and memory contents of + local and global variables. + + \o Examine the list of loaded shared libraries. + + \o Create snapshots of the current state of the debugged program + and re-examine them later. + + \endlist + + \QC displays the raw information provided by the native debuggers in a clear + and concise manner with the goal to simplify the debugging process as much + as possible without losing the power of the native debuggers. + + In addition to the generic IDE functionality provided by stack view, views + for locals and expressions, registers, and so on, \QC includes features to + make debugging Qt-based applications easy. The debugger plugin understands + the internal layout of several Qt classes, for example, QString, the Qt + containers, and most importantly QObject (and classes derived from it), as + well as most containers of the C++ Standard Library and some GCC extensions. + This deeper understanding is used to present objects of such classes in a + useful way. + + \section3 QML Script Console + + You can use the \QC \gui Debug mode to inspect the state of the application + while debugging JavaScript functions. You can set breakpoints, view call + stack trace, and examine locals and expressions. + + When the application is interrupted by a breakpoint, you can use the + \gui {QML Script Console} to execute JavaScript expressions in the current + context. You can type JavaScript expressions and use them to get information + about the state of the application, such as property values. + + If you change property values or add properties in the code editor, the + changes are updated in the running application when they are saved. + + \section3 QML Inspector + + While the application is running, you can use the \gui {QML Inspector} view + to explore the object structure, debug animations, and inspect colors. When + debugging complex applications, you can use the inspection mode to jump to + the position in code where an element is defined. + + \section2 Code Analysis Tools + + The memory available on devices is limited and you should use it carefully. + \QC integrates Valgrind code analysis tools for detecting memory + leaks and profiling function execution. These tools are only supported on + Linux and Mac OS, but you can run them remotely from Windows. You must + download and install them separately to use them from \QC. + + The QML Profiler is installed as part of \QC. It allows you + to profile your Qt Quick applications and is available on all supported + development platforms. + + \section2 Qt Simulator + + You can use the Qt Simulator to test Qt applications that are intended + for mobile devices in an environment similar to that of the device. You + can change the information that the device has about its configuration + and environment. + + Qt Simulator does not support any device specific APIs by design. Therefore, + applications that run well on Qt Simulator also run on any device that hosts + the Qt and Qt Mobility libraries. However, this means that you cannot use + Qt Simulator to test applications that use device specific libraries, such + as Symbian C++ APIs. To test such applications, use the device emulators or + real devices. + + The Qt Simulator is installed as part of the \QSDK. After it is + installed, you can select it as a build target in \QC. + + \if defined(qcmanual) + \input linux-mobile/madde-emulator-overview.qdocinc + \endif + + + \section1 Deploying + + \QC deploy configurations handle the packaging of the application as an + executable and copying it to a location developers want to run the + executable at. The files can be copied to a location in the file system of + the development PC or to a mobile device. + + \QC allows you to create installation packages for mobile devices that are + suitable for publishing on Ovi Store and other channels. + +*/ diff --git a/doc/src/overview/creator-supported-platforms.qdoc b/doc/src/overview/creator-supported-platforms.qdoc new file mode 100644 index 00000000000..92d76446f3e --- /dev/null +++ b/doc/src/overview/creator-supported-platforms.qdoc @@ -0,0 +1,107 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + + +/*! + \contentspage index.html + \previouspage creator-advanced.html + \page creator-os-supported-platforms.html + \nextpage creator-project-wizards.html + + \title Supported Platforms + + You can install and run \QC on several operating systems to create + applications for multiple desktop and mobile device platforms. + + \section1 Development Platforms + + \QC is available in binary packages for the following operating systems: + + \list + + \o Windows 7 + + \o Windows XP Service Pack 2 + + \o Windows Vista + + \o (K)Ubuntu Linux 8.04 (32-bit and 64-bit) or later, with the + following: + + \list + + \o g++ + + \o make + + \o libglib2.0-dev + + \o libSM-dev + + \o libxrender-dev + + \o libfontconfig1-dev + + \o libxext-dev + + \o libfreetype6-dev + + \o libx11-dev + + \o libxcursor-dev + + \o libxfixes-dev + + \o libxft-dev + + \o libxi-dev + + \o libxrandr-dev + + \o If you are using QtOpenGL, libgl-dev and libglu-dev + + \endlist + + \o Mac OS 10.5 or later with the following: + + \list + + \o Xcode tools for your Mac OS X version available from your + Mac OS X installation DVDs or at + \l http://developer.apple.com. + + \endlist + + \endlist + + \section1 Compiling from Source + + To build \QC from the source, see the requirements and instructions in the + readme file that is located in the source repository. + + \input overview/creator-target-platforms.qdocinc +*/ diff --git a/doc/src/overview/creator-target-platforms.qdocinc b/doc/src/overview/creator-target-platforms.qdocinc new file mode 100644 index 00000000000..a6af0d786d8 --- /dev/null +++ b/doc/src/overview/creator-target-platforms.qdocinc @@ -0,0 +1,60 @@ + \section1 Target Platforms + + You can develop applications for the following platforms: + + \list + + \o Desktop + + \o Qt Simulator + + \o Maemo 5 + + \o MeeGo Harmattan + + \o Generic remote Linux + + \o Symbian + + \endlist + + The following table summarizes operating system support for developing + applications for mobile device platforms. + + \table + \header + \o {1,6} Operating system + \o {6,1} Platform + \header + \o Desktop + \o Qt Simulator + \o Maemo 5 + \o MeeGo Harmattan + \o Generic Remote Linux + \o Symbian + + \row + \o Windows + \o Yes + \o Yes + \o Yes + \o Yes + \o Yes + \o Yes + \row + \o Linux + \o Yes + \o Yes + \o Yes + \o Yes + \o Yes + \o Yes (by using Remote Compiler for building) + \row + \o Mac OS X + \o Yes + \o Yes + \o Yes + \o Yes + \o Yes + \o Yes (by using Remote Compiler for building) + \endtable diff --git a/doc/src/overview/creator-tech-support.qdoc b/doc/src/overview/creator-tech-support.qdoc new file mode 100644 index 00000000000..36ab6e690f3 --- /dev/null +++ b/doc/src/overview/creator-tech-support.qdoc @@ -0,0 +1,70 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-known-issues.html + \page technical-support.html + \nextpage creator-glossary.html + + \title Technical Support + + The following table lists Qt support sites and other useful links. + + \table + \header + \o What Do You Want to Do + \o Where to Go + + \row + \o Learn more about Qt + \o \l{http://qt.nokia.com/developer/learning/online/training/specialized-elearning/} + {Specialized eLearning Modules Based on Qt Training Modules} + + \row + \o Develop Qt applications for desktop and mobile devices + \o \l{http://developer.qt.nokia.com/}{Qt Developer Network} + + \row + \o Develop Qt applications for Nokia mobile devices + \o \l{http://www.developer.nokia.com/Develop/Qt/} + {Nokia Developer - Qt} + + \row + \o Participate in Qt development + \o \l{http://qt.gitorious.org/}{Qt Git Hosting} + + \row + \o Find free Qt-based applications + \o \l{http://qt-apps.org/}{Qt Apps} + + \row + \o Buy commercial Qt support from Digia + \o \l{http://qt.digia.com/}{Qt Commercial} + \endtable + +*/ diff --git a/doc/src/overview/mobile-app-design.qdoc b/doc/src/overview/mobile-app-design.qdoc new file mode 100644 index 00000000000..848fd8c1896 --- /dev/null +++ b/doc/src/overview/mobile-app-design.qdoc @@ -0,0 +1,127 @@ +/**************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (info@qt.nokia.com) +** +** +** GNU Free Documentation License +** +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at info@qt.nokia.com. +** +****************************************************************************/ + +// ********************************************************************** +// NOTE: the sections are not ordered by their logical order to avoid +// reshuffling the file each time the index order changes (i.e., often). +// Run the fixnavi.pl script to adjust the links to the index order. +// ********************************************************************** + +/*! + \contentspage index.html + \previouspage creator-using-qt-designer.html + \page creator-usability.html + \nextpage creator-building-running.html + + \title Optimizing Applications for Mobile Devices + + Before starting application development, analyze and define the + requirements, scope, and functionality of the application to ensure + efficient functionality and a smooth user experience. Design the application + for a single purpose and analyze how it can best serve its users. Mobile + devices have been designed for use when mobile. Keep the characteristics + of mobile devices in mind when you create applications for them. + + The following guidelines help you design and develop usable applications for + mobile devices with varying characteristics, such as screen size and support + for input methods: + + \list + + \o Know your users + + Find out who will use the application, what they will use it for, + and which mobile devices they have. Then design the application to + fit a specific context of use. + + \o Design for small screens + + The screen size of mobile devices is significantly smaller than that + available on desktop devices. Carefully consider what is the most + relevant content to present on the application UI, as it might not + be reasonable to try and fit as much content into the screen as you + might have in a desktop application. + + \o Design for multiple screen sizes + + Relate the position and size of each control to the dimensions of + the display. This enables the same set of information to be + presented on the screen in all resolutions; higher resolution + devices just display finer graphics. + + \o Design for changing screen orientation + + Some devices support screen rotation. On these devices, applications + can be displayed in portrait or landscape orientation. Account for + orientation and dynamically adjust the display when the screen is + rotated. + + \o Design intuitive ways of moving within applications + + Mobile devices lack a mouse and full-size keyboard, so users must + use the touch screen or five way navigation pad to move within + applications. In addition, many users control the devices with one + hand. To create an optimized user experience, allow users to access + information with one click; do not make them scroll and type. + + \o Design for limited input methods + + Applications collect information from users on the task at hand. In + addition to touch screen input, some devices contain physical keys + such as a five way navigation pad, a keypad, and a keyboard. Users + enter information by using screen controls, such as lists, check + boxes, radio buttons, and text fields. + + \o Keep response times short + + Latency can cause delays in user interaction. If users perceive + an application as being slow, they are likely to get frustrated and + stop using it. + + \o Save battery time + + Mobile devices are not constantly connected to a power source but + run on battery power. Optimize power consumption to keep the total + consumption at an acceptable level and to prevent users from running + out of battery time. + + \o Consider network issues + + If users do not have a flat-rate data plan or WLAN support, mobile + network connections cost them money. Also, when users move around + with the devices, the networks available for connections constantly + change. + + \o Remember the processing limits of the device + + The memory available on devices is limited and you should use it + carefully. Although all mobile devices have common functionality, + each device is individual in terms of both the resources available + and extra features. Therefore, you must consider the constraints of + all the target devices. + + \endlist + + For more information about user experience techniques for mobile devices, + see the \l{http://www.developer.nokia.com/Resources/Library/Design_and_UX} + on Nokia Developer. + + */