Commit 1c722840 authored by dt's avatar dt
Browse files

Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline

parents 48fe0f45 a8be2532
......@@ -9,6 +9,8 @@
simple means for plugin cooperation that allow plugins to provide
hooks for other plugin's extensions.
To get an overview of what parts of QtCreator are extensible, have a look at the \l{Common Extension Tasks} page.
\section1 Core Libraries
There are a few core libraries used by many parts of Qt Creator.
......@@ -19,12 +21,12 @@
\o Description
\row
\o \l{Aggregation}{Aggregation}
\o \l{Aggregation}
\o Adds functionality for "glueing" QObjects of different
types together, so you can "cast" between them.
\row
\o \l{ExtensionSystem}{ExtensionSystem}
\o \l{ExtensionSystem}
\o Implements the plugin loader framework. Provides a base class for plugins and
basic mechanisms for plugin interaction like an object pool.
......@@ -43,10 +45,18 @@
\o Description
\row
\o \l{Core} {Core}
\o \l{Core}
\o The core plugin. Provides the main window and managers for editors,
actions, mode windows and files, just to mention the most important ones.
\row
\o \l{Find}
\o Support for searching text in arbitrary widgets, and arbitrary other things.
\row
\o \l{QuickOpen}
\o Hooks for providing content for Locator.
\endtable
*/
......@@ -79,3 +89,85 @@
\generatelist functionindex
*/
/*!
\page common_extension_tasks.html
\title Common Extension Tasks
\table
\header
\o Task
\o Details
\o API
\row
\o Add a menu / menu entry.
\o You can extend existing menus or create new ones.
\o \l{Core::ActionManager}, \l{Core::Command}, \l{Core::ICore::actionManager()}
\row
\o Add a configurable keyboard shortcut.
\o Registerng shortcuts makes it possible for users to configure them in the common shortcut settings dialog.
\o \l{Core::ActionManager}, \l{Core::Command}, \l{Core::ICore::actionManager()}
\row
\o Add a mode.
\o Modes correspond to complete screens of controls, specialized for a task.
\o \l{Core::IMode}, \l{Core::BaseMode}
\row
\o Add a new editor type.
\o Like an editor for xml files.
\o \l{Core::IEditorFactory}, \l{Core::IEditor}, \l{Core::IFile}
\row
\o Add a "New" wizard.
\o That is added to the list when users do File->New..., allows you to basically do whatever you want.
\o \l{Core::IWizard}, \l{Core::StandardFileWizard}, \l{Core::BaseFileWizard}, \l{Core::BaseFileWizardParameters}
\row
\o Add support for a new version control system.
\o Version control systems provided by QtCreator itself are Perforce, Git and Subversion.
\o \l{Core::IVersionControl}
\row
\o Add a view to the navigation sidebar.
\o The one which shows the project tree, filesystem, open documents or bookmarks.
\o \l{Core::INavigationWidgetFactory}
\row
\o Add a preferences page to the preferences dialog.
\o Add a new page to existing or new category in Tools->Options.
\o \l{Core::IOptionsPage}
\row
\o Add a find filter for the find dialog.
\o Implement any kind of search term based search.
\o \l{Find::IFindFilter}, \l{Find::SearchResultWindow}, \l{Find::ResultWindowItem}
\row
\o Add support for the find tool bar to a widget.
\o The widget that has focus is asked if it supports text search, you can provide that for widgets under your control.
\o \l{Find::IFindSupport}, \l{Find::BaseTextFind}
\row
\o Add a completely new project type.
\o
\o
\row
\o Add a new type of build step.
\o
\o
\row
\o Add a new filter to Locator.
\o For a text typed in by the user you provide a list of things to show in the popup. When the user selects an entry you are requested to do whatever you want.
\o \l{QuickOpen::IQuickOpenFilter}, \l{QuickOpen::FilterEntry}, \l{QuickOpen::BaseFileFilter}
\row
\o
\o
\o
\endtable
*/
......@@ -7,13 +7,15 @@ headerdirs = . \
../../src/libs/aggregation \
../../src/libs/extensionsystem \
../../src/plugins/coreplugin \
../../src/plugins/coreplugin/actionmanager
../../src/plugins/find \
../../src/plugins/quickopen
sourcedirs = . \
../../src/libs/aggregation \
../../src/libs/extensionsystem \
../../src/plugins/coreplugin \
../../src/plugins/coreplugin/actionmanager
../../src/plugins/find \
../../src/plugins/quickopen
headers.fileextesnions = "*.h"
sources.fileextensions = "*.cpp *.qdoc"
......
......@@ -44,3 +44,5 @@ macx {
OTHER_FILES = qtcreator.qdoc \
qtcreator.qdocconf
OTHER_FILES += api/qtcreator-api.qdoc \
api/qtcreator-api.qdocconf
......@@ -293,6 +293,63 @@
\gui{Edit -> Advanced} menu.
\endtable
\section1 Code Completion
The completion popup shows possible completions to a certain statement.
These completions include classes, namespaces, functions, variables,
macros and keywords. Listed below are the icons used in the completion box
and their meaning.
\table
\row
\i \inlineimage completion/class.png
\i A class
\row
\i \inlineimage completion/enum.png
\i An enum
\row
\i \inlineimage completion/enumerator.png
\i An enumerator (value of an enum)
\row
\i \inlineimage completion/func.png
\i A function
\row
\i \inlineimage completion/func_priv.png
\i A private function
\row
\i \inlineimage completion/func_prot.png
\i A protected function
\row
\i \inlineimage completion/var.png
\i A variable
\row
\i \inlineimage completion/var_priv.png
\i A private variable
\row
\i \inlineimage completion/var_prot.png
\i A protected variable
\row
\i \inlineimage completion/signal.png
\i A signal
\row
\i \inlineimage completion/slot.png
\i A slot
\row
\i \inlineimage completion/slot_priv.png
\i A private slot
\row
\i \inlineimage completion/slot_prot.png
\i A protected slot
\row
\i \inlineimage completion/keyword.png
\i A keyword
\row
\i \inlineimage completion/macro.png
\i A macro
\row
\i \inlineimage completion/namespace.png
\i A namespace
\endtable
*/
......
......@@ -47,8 +47,11 @@
#include <QtCore/QObject>
#include <QtCore/QPointer>
#include <QtCore/QString>
#include <QtCore/QSharedPointer>
#include <QtCore/QSharedDataPointer>
#include <QtCore/QTextCodec>
#include <QtCore/QVector>
#include <QtCore/QWeakPointer>
int qtGhVersion = QT_VERSION;
......@@ -866,10 +869,11 @@ static void qDumpQDateTime(QDumper &d)
BL(d, "isNull", date.isNull());
I(d, "toTime_t", (long)date.toTime_t());
S(d, "toString", date.toString());
#if QT_VERSION >= 0x040500
S(d, "toString_(ISO)", date.toString(Qt::ISODate));
S(d, "toString_(SystemLocale)", date.toString(Qt::SystemLocaleDate));
S(d, "toString_(Locale)", date.toString(Qt::LocaleDate));
S(d, "toString", date.toString());
#endif
#if 0
d.beginHash();
......@@ -1931,6 +1935,30 @@ static void qDumpQSet(QDumper &d)
d.disarm();
}
static void qDumpQSharedPointer(QDumper &d)
{
const QSharedPointer<int> &ptr =
*reinterpret_cast<const QSharedPointer<int> *>(d.data);
if (isSimpleType(d.innertype))
qDumpInnerValueHelper(d, d.innertype, ptr.data());
else
P(d, "value", "");
P(d, "valuedisabled", "true");
P(d, "numchild", 1);
if (d.dumpChildren) {
d << ",children=[";
d.beginHash();
P(d, "name", "data");
qDumpInnerValue(d, d.innertype, ptr.data());
d.endHash();
I(d, "strongref", 44);
I(d, "weakref", 45);
d << "]";
}
d.disarm();
}
static void qDumpQString(QDumper &d)
{
const QString &str = *reinterpret_cast<const QString *>(d.data);
......@@ -2012,11 +2040,13 @@ static void qDumpQVariantHelper(const void *data, QString *value,
*value = QLatin1Char('"') + v.toString() + QLatin1Char('"');
*numchild = 0;
break;
#if QT_VERSION >= 0x040500
case QVariant::StringList:
*exp = QString(QLatin1String("(*('"NS"QStringList'*)%1)"))
.arg((quintptr)data);
*numchild = v.toStringList().size();
break;
#endif
case QVariant::Int:
*value = QString::number(v.toInt());
*numchild= 0;
......@@ -2480,6 +2510,8 @@ static void handleProtocolVersion2and3(QDumper & d)
case 'S':
if (isEqual(type, "QSet"))
qDumpQSet(d);
else if (isEqual(type, "QSharedPointer"))
qDumpQSharedPointer(d);
else if (isEqual(type, "QString"))
qDumpQString(d);
else if (isEqual(type, "QStringList"))
......@@ -2578,6 +2610,7 @@ void *qDumpObjectData440(
#endif // PRIVATE_OBJECT_ALLOWED
// << "\""NS"QRegion\","
"\""NS"QSet\","
"\""NS"QSharedPointer\","
"\""NS"QString\","
"\""NS"QStringList\","
"\""NS"QTextCodec\","
......
......@@ -36,7 +36,6 @@
/*!
\class Core::Command
\mainclass
\ingroup qwb
\brief The class...
......@@ -197,7 +196,6 @@ QString CommandPrivate::stringWithAppendedShortcut(const QString &str) const
/*!
\class Shortcut
\ingroup qwb
*/
/*!
......@@ -309,7 +307,6 @@ bool Shortcut::isActive() const
/*!
\class Action
\ingroup qwb
*/
/*!
......@@ -401,7 +398,6 @@ QKeySequence Action::keySequence() const
/*!
\class OverrideableAction
\ingroup qwb
*/
/*!
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment