Commit b0b5bde2 authored by Oswald Buddenhagen's avatar Oswald Buddenhagen
Browse files

Merge remote branch 'origin/1.3'

Conflicts:
	doc/qtcreator.qdoc
	src/plugins/debugger/watchhandler.cpp
parents 6c56fbfe f1d79229
QDOC_BIN = $$[QT_INSTALL_BINS]/qdoc3
win32:QDOC_BIN = $$replace(QDOC_BIN, "/", "\\")
QDOC_BIN = $$targetPath($$[QT_INSTALL_BINS]/qdoc3)
HELPGENERATOR = $$targetPath($$[QT_INSTALL_BINS]/qhelpgenerator)
unix {
equals(QMAKE_DIR_SEP, /) { # unix, mingw+msys
QDOC = SRCDIR=$$PWD OUTDIR=$$OUT_PWD/doc/html $$QDOC_BIN
HELPGENERATOR = $$[QT_INSTALL_BINS]/qhelpgenerator
} else {
} else:win32-g++* { # just mingw
# The lack of spaces in front of the && is necessary!
QDOC = set SRCDIR=$$PWD&& set OUTDIR=$$OUT_PWD/doc/html&& $$QDOC_BIN
# Always run qhelpgenerator inside its own cmd; this is a workaround for
# an unusual bug which causes qhelpgenerator.exe to do nothing
HELPGENERATOR = cmd /C $$replace($$list($$[QT_INSTALL_BINS]/qhelpgenerator.exe), "/", "\\")
} else { # nmake
QDOC = set SRCDIR=$$PWD $$escape_expand(\n\t) \
set OUTDIR=$$OUT_PWD/doc/html $$escape_expand(\n\t) \
$$QDOC_BIN
}
QHP_FILE = $$OUT_PWD/doc/html/qtcreator.qhp
QCH_FILE = $$OUT_PWD/share/doc/qtcreator/qtcreator.qch
QCH_FILE = $$IDE_DOC_PATH/qtcreator.qch
unix {
html_docs.commands = $$QDOC $$PWD/qtcreator.qdocconf
} else {
html_docs.commands = \"$$QDOC $$PWD/qtcreator.qdocconf\"
}
html_docs.depends += $$PWD/qtcreator.qdoc $$PWD/qtcreator.qdocconf
html_docs.files = $$QHP_FILE
qch_docs.commands = $$HELPGENERATOR -o $$QCH_FILE $$QHP_FILE
qch_docs.commands = $$HELPGENERATOR -o \"$$QCH_FILE\" $$QHP_FILE
qch_docs.depends += html_docs
qch_docs.files = $$QCH_FILE
......@@ -32,17 +29,8 @@ unix:!macx {
INSTALLS += qch_docs
}
macx {
DOC_DIR = "$${OUT_PWD}/bin/Qt Creator.app/Contents/Resources/doc"
cp_docs.commands = mkdir -p \"$${DOC_DIR}\" ; $${QMAKE_COPY} \"$${QCH_FILE}\" \"$${DOC_DIR}\"
cp_docs.depends += qch_docs
docs.depends = cp_docs
QMAKE_EXTRA_TARGETS += html_docs qch_docs cp_docs docs
}
!macx {
docs.depends = qch_docs
QMAKE_EXTRA_TARGETS += html_docs qch_docs docs
}
docs.depends = qch_docs
QMAKE_EXTRA_TARGETS += html_docs qch_docs docs
OTHER_FILES = $$PWD/qtcreator.qdoc \
$$PWD/qtcreator.qdocconf
......
#! /usr/bin/perl -w
use strict;
my $file = $ARGV[0];
open FILE, $file or die "File $file cannot be opened.";
my @toc = ();
my %title2page = ();
my $doctitle = "";
my $curpage = "";
my $intoc = 0;
while (<FILE>) {
if (!$intoc) {
if (keys(%title2page) == 1 && /^\h*\\list/) {
$intoc = 1;
} elsif (/^\h*\\page\h+(\H+)/) {
$curpage = $1;
} elsif (/^\h*\\title\h+(.+)$/) {
if ($curpage eq "") {
die "Title '$1' appears in no \\page\n";
}
$title2page{$1} = $curpage;
$doctitle = $1 if (!$doctitle);
$curpage = "";
}
} else {
if (/^\h*\\endlist/) {
$intoc = 0;
} elsif (/^\h*\\o\h+\\l{(.*)}$/) {
push @toc, $1;
}
}
}
close FILE;
my %prev = ();
my %next = ();
my $last = $doctitle;
for my $title (@toc) {
$next{$last} = $title2page{$title};
$prev{$title} = $title2page{$last};
$last = $title;
}
open IN, $file or die "File $file cannot be opened a second time?!";
open OUT, '>'.$file.".out" or die "File $file.out cannot be created.";
my $cutting = 0;
while (<IN>) {
if (!$cutting) {
if (/^\h*\\contentspage/) {
$cutting = 1;
}
} else {
if (/^\h*\\title\h+(.+)$/) {
print OUT " \\previouspage ".$prev{$1} if ($prev{$1});
print OUT " \\page ".$title2page{$1};
print OUT " \\nextpage ".$next{$1} if ($next{$1});
print OUT "\n";
$cutting = 0;
} else {
next;
}
}
print OUT $_;
}
close OUT;
close IN;
rename($file.".out", $file) or die "Cannot replace $file with new version.";
// **********************************************************************
// 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}{Qt Creator}
\page index.html
......@@ -26,18 +32,18 @@
\list
\o \l{A Quick Tour of Qt Creator}
\o \l{Creating a Project in Qt Creator}
\o \l{The Code Editor}
\o \l{Project Settings}
\o \l{Qt Version Management}
\o \l{Writing a Simple Program with Qt Creator}
\o \l{Qt Creator and Version Control Systems}
\o \l{Navigating Quickly Around Your Code with Locator}
\o \l{The Code Editor}
\o \l{Navigating Around Your Code with Locator}
\o \l{Session Management in Qt Creator}
\o \l{Debugging with Qt Creator}
\o \l{Qt Version Management}
\o \l{Project Settings}
\o \l{CMake Support in Qt Creator}
\o \l{Support for Generic Projects in Qt Creator}
\o \l{External Libraries}
\o \l{Development of Qt for Symbian Based Applications}
\o \l{Handling External Libraries}
\o \l{Qt Creator and Debugging}
\o \l{Qt Creator and Version Control Systems}
\o \l{Tips and Tricks}
\o \l{Keyboard Shortcuts}
\o \l{Glossary}
......@@ -47,10 +53,12 @@
\endlist
*/
/*!
\contentspage index.html
\previouspage index.html
\page creator-quick-tour.html
\nextpage creator-code-editor.html
\nextpage creator-creating-project.html
\title A Quick Tour of Qt Creator
......@@ -64,34 +72,34 @@
When working in Qt Creator, you can be in one of six modes: \bold Welcome,
\bold Edit, \bold Debug, \bold Projects, \bold Help, and \bold Output.
Mode selectors allow you to quickly switch between tasks: Editing, browsing
Mode selectors allow you to quickly switch between tasks: editing, browsing
the Qt Creator manual, setting up the build environment, etc. You can
activate a mode by either clicking on its mode selector, or using the
\l{keyboard-shortcuts}{corresponding shortcut}. Certain actions also
trigger a mode change, e.g., \gui{Debug}/\gui{Start Debugging} will switch
\l{keyboard-shortcuts}{corresponding keyboard shortcut}. Certain actions also
trigger a mode change, e.g., \gui{Debug}/\gui{Start debugging} switches
to the \gui Debug mode.
\list
\o \gui{Welcome Mode} - Displays a welcome screen allowing you to quickly
load recent sessions or individual projects. This is the mode you will see
if Qt Creator is run without command line switches.
\o \gui{Welcome mode} - Displays a welcome screen allowing you to quickly
load sessions or recent individual projects. This is the mode displayed
when Qt Creator is run without command line switches.
\o \gui{Edit Mode} - Lets you edit both project and source files. A sidebar
on the left provides different views to navigate between files.
\o \gui{Edit mode} - Lets you edit both project and source files. A sidebar
on the left provides different views for navigating between files.
\o \gui{Debug Mode} - Provides various ways to inspect the state of the
program while debugging. See \l{Debugging With Qt Creator} for a hands-on
\o \gui{Debug mode} - Provides various ways to inspect the state of the
program while debugging. See \l{Qt Creator and Debugging} for a hands-on
description of how to use this mode.
\o \gui{Projects Mode} - Lets you configure how projects can be built and
\o \gui{Projects mode} - Lets you configure how projects can be built and
executed. Under the list of projects, there are tabs to configure the
build, run, and editor settings.
\o \gui{Help Mode} - Shows any documentation registered by Qt Assistant,
\o \gui{Help mode} - Shows all documentation registered by Qt Assistant,
such as the Qt library and Qt Creator documentation.
\o \gui{Output Mode} - Lets you examine various data in detail, for example
\o \gui{Output mode} - Lets you examine various data in detail, for example
build issues as well as compile and application output. This information
is also available in the output panes.
......@@ -109,7 +117,7 @@
The \gui{Build Issues} pane provides a list of issues, e.g., error messages
or warnings that need to be fixed. It filters out irrelevant output from
the compiler and collects them in an organized way.
the compiler and presents the issues in an organized way.
\image qtcreator-build-issues.png
......@@ -126,16 +134,16 @@
\section2 Application Output
The \gui{Application Output} pane displays the status of the program when
it is executed and debug output, e.g., output from qDebug().
The \gui{Application Output} pane displays the status of a program when
it is executed, and the debug output, e.g., output from qDebug().
\image qtcreator-application-output.png
\section2 Compile
\section2 Compile Output
The \gui{Compile Output} pane provides all the output from the compiler. In
other words, it is a more verbose version of information displayed in the
The \gui{Compile Output} pane provides all output from the compiler. In
other words, it is a more detailed version of information displayed in the
\gui{Build Issues}
\image qtcreator-compile-pane.png
......@@ -144,25 +152,25 @@
\section1 Qt Help Integration
Qt Creator comes fully integrated with all of Qt's documentation and
examples via the Qt Help plugin. To view the documentation, you can switch
to the \gui{Help} mode. To obtain context sensitive help, move your text
examples via the Qt Help plugin. To view the documentation, switch
to the \gui{Help} mode. To obtain context sensitive help, move the text
cursor to a Qt class or function and press \key{F1}. The documentation
will be displayed within a panel on the right, as shown in the screenshot
below. If there is enough vertical space, it will be shown in the
is displayed in a pane on the right, as shown in the screenshot
below. If there is enough vertical space, it is shown in the
fullscreen help mode.
External Documentation provided by the user can be used to augment or
replace the documentation shipped with Qt Creator and Qt.
\image qtcreator-context-sensitive-help.png
External documentation provided by the user can be used to augment or
replace the documentation shipped with Qt Creator and Qt.
\section1 Qt Designer Integration
Qt Creator is fully integrated with Qt Designer to help you design user
interface forms just like you would with the standalone version. The Qt
interface forms like you would with the standalone version. The Qt
Designer integration also includes project management and code completion.
For more information on Qt Designer, you can refer to
For more information on Qt Designer, see
\l{http://doc.trolltech.com/designer-manual.html}{The Designer Manual}.
\image qtcreator-formedit.png
......@@ -173,86 +181,37 @@
Qt Creator caters not only to developers who are used to using the mouse,
but also to developers who are more comfortable with the keyboard. A wide
range of \l{keyboard-shortcuts}{keyboard} and
\l{Navigating Quickly Around Your Code with Locator}{navigation} shortcuts
\l{Navigating Around Your Code with Locator}{navigation} shortcuts
are available to help speed up the process of developing your application.
*/
/*! \contentspage index.html
\previouspage creator-quick-tour.html
/*!
\contentspage index.html
\previouspage creator-writing-program.html
\page creator-code-editor.html
\nextpage creator-project-pane.html
\nextpage creator-navigation.html
\title The Code Editor
Qt Creator's code editor is designed to aid the developer to create, edit,
and navigate code. It is fully equipped with syntax highlighting, code
completion, context sensitive help, as well as inline error indicators
while you are typing. The screenshots below show the various dialogs within
Qt Creator's code editor is designed to aid the developer in creating, editing,
and navigating code. It is fully equipped with syntax highlighting, code
completion, context sensitive help, and inline error indicators
while you are typing.
\section1 Code Editor Configuration
The screenshots below show the various dialogs within
which you can configure your editor.
\table
\row
\i \inlineimage qtcreator-texteditor-fonts.png
\row
\i \inlineimage qtcreator-texteditor-behavior.png
\row
\i \inlineimage qtcreator-texteditor-display.png
\i \inlineimage qtcreator-texteditor-completion.png
\endtable
The table below lists keyboard shortcuts supported by the code editor.
\table
\row
\i Block navigation
\i To navigate between blocks, e.g., from one \bold{\{} to another
\bold{\}} , use \key{Ctrl+[} and \key{Ctrl+]}.
\row
\i Block selection
\i To select a current block, use \key{Ctrl+U}. Pressing
\key{Ctrl+U} again extends the selection to the parent block.
To deselect, use \key{Ctrl+Shift+U}.
\row
\i Moving lines up and down
\i Use \key{Ctrl+Shift+Up} and \key{Ctrl+Shift+Down}
\row
\i Completion
\i Use \key{Ctrl+Space}
\row
\i Indenting Blocks
\i Use \key{Ctrl+I}
\row
\i Collapse
\i Use \key{Ctrl+\<}
\row
\i Commenting or uncommenting blocks
\i Use \key{Ctrl+\/}
\row
\i Delete a line
\i Use \key{Shift+Del}
\row
\i Switch between header file and source file
\i Use \key{F4}.
\row
\i Increasing and decreasing font size
\i Use \key{Ctrl+Scroll Wheel}
\row
\i Follow symbols under the cursor
\i Use \key{F2} and \key{Shift+F2}. This feature works with
namespaces, classes, methods, variables, include statements,
and macros.
\row
\i Switch to an external editor
\i Select \gui{Open in external editor} from the
\gui{Edit -> Advanced} menu.
\i \inlineimage qtcreator-texteditor-completion.png
\endtable
\section1 Code Completion
......@@ -312,14 +271,20 @@
\i \inlineimage completion/namespace.png
\i A namespace
\endtable
\section1 External Editor
To switch to an external editor, select \gui{Open in external editor} from the
\gui{Edit > Advanced} menu.
*/
/*!
\contentspage index.html
\previouspage creator-code-editor.html
\previouspage creator-version-management.html
\page creator-project-pane.html
\nextpage creator-version-management.html
\nextpage creator-cmake-support.html
\title Project Settings
......@@ -331,12 +296,12 @@
\endtable
To modify the project settings of your project, switch to the \gui{Projects}
mode using the mouse or \key{Ctrl+4}.
mode by using the mouse or pressing \key{Ctrl+4}.
\image qtcreator-projectpane.png
The project pane is divided into two areas. At the top the currently active
settings are shown. The active build or run configuration for all projects
The project pane is divided into two areas. The currently active settings are
displayed at the top. The active build and run configuration for all projects
can be changed there. The bottom area allows you to quickly get an overview
of the build, run and editor settings as well as the dependencies between your
projects. It also allows you to edit those settings.
......@@ -344,11 +309,11 @@
\section1 Build Settings
Build configurations allow you to quickly switch between different build
settings. By default Qt Creator Qt Creator creates a \bold{debug} and
\bold{release} build configuration. Both these configurations use the
\l{glossary-default-qt}{Default Qt Version}. Action items to create, clone,
settings. By default, Qt Creator creates a \bold{debug} and a
\bold{release} build configuration. Both of these configurations use the
\l{glossary-default-qt}{default Qt version}. Action items to create, clone,
or delete build configurations can be found at the top. You can have as
many build configurations as needed. To edit settings click on the
many build configurations as necessary. To edit settings, click on the
\gui{Show Details} button. Here you can specify which
\l{glossary-project-qt}{Qt version} to use to build your project, or whether
to \l{glossary-shadow-build}{shadow build} the project, for instance.
......@@ -356,13 +321,13 @@
\image qtcreator-ppbuildsettings.png
The build system of Qt Creator is built on top of \c qmake and \c make. The
settings for \c qmake and \c make can be changed. Qt Creator will run the
settings for \c qmake and \c make can be changed. Qt Creator runs the
make command using the correct Qt version.
In the \bold{Build Environment} section you can specify the environment used
for building. By default the environment in which Qt Creator was started
for building. By default, the environment in which Qt Creator was started
is used and modified to include the Qt version. Depending on the selected
Qt version, Qt Creator will automatically set the necessary environment
Qt version, Qt Creator automatically sets the necessary environment
variables.
\section1 Run Settings
......@@ -376,19 +341,22 @@
\section1 Dependencies
If you have multiple projects loaded in your session, you can configure
dependencies between them. This will affect the build order of your
projects. To do this, go the the \bold{Dependencies} section after selecting
the project for which you want to configure the dependencies, and then use
the checkboxes to check which of the other projects is a dependency.
dependencies between them. This affects the build order of your
projects. To do this:
\list 1
\o Select the project for which you want to configure the dependencies.
\o Go to the \bold{Dependencies} section.
\o Check the checkboxes to select other projects as dependencies.
\endlist
\note This is unrelated to the dependencies inside a qmake project.
*/
/*!
\contentspage index.html
\previouspage creator-project-pane.html
\previouspage creator-session.html
\page creator-version-management.html
\nextpage creator-creating-project.html
\nextpage creator-project-pane.html
\title Qt Version Management
......@@ -397,42 +365,48 @@
Qt Creator automatically detects if \c qmake is in the environment variable
\c PATH. This \l{glossary-system-qt}{version of Qt} is referred to as
\bold{Qt in PATH}. If you intend to use only one version of Qt - it is
already in your path and correctly set up for command line usage - you do
\bold{Qt in PATH}. If you use only one version of Qt and it is
already in your path and correctly set up for command line usage, you do
not need to manually configure your Qt version.
Otherwise, you can add your Qt version in
\gui{Tools -> Options... -> Qt Versions} on Windows and Linux or
in \gui{Qt Creator -> Preferences... -> Qt Versions} on Mac OS X.
\gui{Tools > Options... > Qt Versions} on Windows and Linux or
in \gui{Qt Creator > Preferences... > Qt Versions} on Mac OS X.
The detailed settings depend on your Operating system and on the targeted
tool chain
The detailed settings depend on your operating system and on the targeted
tool chain.
\table
\row
\i \image qtcreator-qt4-qtversions.png
On Linux and Mac OS X, simply set the \gui{Path to QMake}
\i \bold{Linux and Mac OS X}
On Linux and Mac OS X, set the \gui{path to QMake}
to the \c qmake binary of the Qt installation. If a Qt is
found in the \c PATH environment variable, it will show up
found in the \c PATH environment variable, it shows up
automatically as \gui{Qt in PATH}.
On both platforms, the platforms Gnu Compiler Collection (GCC)
On both platforms, the platform's GNU Compiler Collection (GCC)
is used to compile Qt. On Mac OS, the GCC compiler is part of XCode.
On Linux, the Intel Compiler (ICC) is supported as a drop-in replacement
for GCC.
\row
\i \image qtcreator-qt4-qtversions-win-mingw.png
\i \bold{Windows and MinGW}
If you are on the Windows platform and used MinGW
to compile Qt, you need to additionally tell Qt Creator
to compile Qt, you need to tell Qt Creator
where MinGW is installed. This is done by setting the
\gui{MinGW Directory}.
\gui{MinGW directory}.
\row
\i \image qtcreator-qt4-qtversions-win-msvc.png
\i \bold{Microsoft Visual C++}
If your Qt version is compiled with Microsoft Visual C++'s
compiler, Qt Creator will automatically set the correct
compiler, Qt Creator automatically sets the correct
environment variables for compilation. The \gui{MSVC}
dropdown box indicates the internal Version Number of the
drop-down box indicates the internal version number of the
installed Microsoft Visual C++ tool chains:
\list
......@@ -442,13 +416,16 @@
\endlist
If you are using the \c{Windows SDK for Windows Server 2008}
instead of Visual Studio, it will identify as version 9.0.
instead of Visual Studio, it identifies as version 9.0.
\row
\i \image qtcreator-qt4-qtversions-win-symbian.png
\i \bold{Symbian}
If you are using Qt for Symbian and your S60 SDK is registered
with \c devices.exe, Qt Creator will detect the Qt version
automatically. These are shown in the \bold{Auto-detected}
section in the options dialog.
with \c devices.exe, Qt Creator detects the Qt version
automatically.
It is shown in the \bold{Auto-detected} section in the options
dialog.
You can also manually add Qt for Symbian versions. In this case
you need to tell Qt Creator the path to the S60 SDK
it is supposed to use with these Qt installations.
......@@ -457,20 +434,20 @@
(\c WINSCW tool chain).
If you want to use \c GCCE to build for your device,
you might need to add the path to the
\c{CSL Arm Toolchain} directory (\gui{CSL/GCCE Directory}),
\c{CSL ARM Toolchain} directory (\gui{CSL/GCCE Directory}),
if the compiler is not found in the \c PATH environment
variable.
\endtable
\note By default projects are compiled with the
\note By default, projects are compiled with the
\l{glossary-default-qt}{default Qt version}. You can override this in the
\gui{Build Configuration}.
\gui{build configuration}.
*/
/*!
\contentspage index.html
\previouspage creator-version-management.html
\previouspage creator-quick-tour.html
\page creator-creating-project.html
\nextpage creator-writing-program.html
......@@ -479,7 +456,7 @@
\table
\row
\i \inlineimage qtcreator-new-project.png
\i \bold{Creating a New Project}
\i \bold{Creating a new project}
To create a new project, select \gui{New Project} from the \gui{File} menu.
You can create one of the following three projects:
......@@ -490,44 +467,44 @@
\o C++ Library
\endlist
In this example, we select a \e{Qt4 Gui Application} and click \gui{OK}.
In this example, we select a \e{Qt4 Gui Application} and click on \gui{OK}.
\row
\i \inlineimage qtcreator-intro-and-location.png
\i \bold{Setting the Project name and location}