2010-12-21 14:02:05 +01:00
|
|
|
/****************************************************************************
|
|
|
|
**
|
2014-01-07 13:27:11 +01:00
|
|
|
** Copyright (c) 2014 Digia Plc and/or its subsidiary(-ies).
|
2012-10-02 09:12:39 +02:00
|
|
|
** Contact: http://www.qt-project.org/legal
|
2010-12-21 14:02:05 +01:00
|
|
|
**
|
2012-10-02 09:12:39 +02:00
|
|
|
** This file is part of Qt Creator
|
2010-12-21 14:02:05 +01:00
|
|
|
**
|
|
|
|
**
|
|
|
|
** 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.
|
|
|
|
**
|
|
|
|
**
|
|
|
|
****************************************************************************/
|
|
|
|
|
2009-01-05 18:04:24 +01:00
|
|
|
/*!
|
2011-04-27 17:35:17 +02:00
|
|
|
\page qtcreator-api.html
|
2009-01-05 18:04:24 +01:00
|
|
|
|
2011-04-27 17:35:17 +02:00
|
|
|
\title Qt Creator API Reference
|
|
|
|
|
|
|
|
The core of Qt Creator is
|
2009-01-06 15:56:47 +01:00
|
|
|
basically only a \l{ExtensionSystem}{plugin loader}.
|
2011-04-27 17:35:17 +02:00
|
|
|
All functionality is implemented in plugins. The basis of Qt Creator is
|
2009-01-12 14:41:24 +01:00
|
|
|
implemented in the \l{Core} {Core} Plugin. The plugin manager provides
|
|
|
|
simple means for plugin cooperation that allow plugins to provide
|
|
|
|
hooks for other plugin's extensions.
|
2009-01-06 15:56:47 +01:00
|
|
|
|
2011-02-04 15:08:31 +01:00
|
|
|
\section1 Libraries
|
|
|
|
|
|
|
|
\section2 Core Libraries
|
2009-01-06 15:56:47 +01:00
|
|
|
|
|
|
|
There are a few core libraries used by many parts of Qt Creator.
|
|
|
|
|
|
|
|
\table
|
|
|
|
\header
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Library Name
|
|
|
|
\li Description
|
2009-01-06 15:56:47 +01:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{Aggregation}
|
|
|
|
\li Adds functionality for "glueing" QObjects of different
|
|
|
|
types together, so you can "cast" between them.
|
2009-01-06 15:56:47 +01:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{ExtensionSystem}
|
|
|
|
\li Implements the plugin loader framework. Provides a base class for plugins and
|
|
|
|
basic mechanisms for plugin interaction like an object pool.
|
2009-01-06 15:56:47 +01:00
|
|
|
|
2011-03-02 17:13:33 +01:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{Utils}
|
|
|
|
\li General utility library.
|
2011-03-02 17:13:33 +01:00
|
|
|
|
2011-11-01 14:01:07 +01:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{QmlJS}
|
|
|
|
\li QML and JavaScript language support library.
|
2011-11-01 14:01:07 +01:00
|
|
|
|
2009-01-06 15:56:47 +01:00
|
|
|
\endtable
|
2009-01-05 18:04:24 +01:00
|
|
|
|
2011-02-04 15:08:31 +01:00
|
|
|
\section2 Additional libraries
|
|
|
|
|
|
|
|
\table
|
|
|
|
\header
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Library Name
|
|
|
|
\li Description
|
2011-02-04 15:08:31 +01:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{qtcreatorcdbext}
|
|
|
|
\li Windows CDB debugger extension
|
2011-02-04 15:08:31 +01:00
|
|
|
|
2011-05-26 18:09:17 +02:00
|
|
|
|
2011-02-04 15:08:31 +01:00
|
|
|
\endtable
|
|
|
|
|
2009-01-05 18:04:24 +01:00
|
|
|
\section1 Plugins
|
|
|
|
|
|
|
|
As already mentioned, Qt Creator is basically only a plugin loader framework
|
|
|
|
which gets its IDE functionality through plugins. The most important plugin
|
|
|
|
is the Core plugin which provides all the basic functionality needed
|
|
|
|
later to integrate e.g. editors or mode windows.
|
|
|
|
|
|
|
|
\table
|
|
|
|
\header
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Plugin Name
|
|
|
|
\li Description
|
2009-01-05 18:04:24 +01:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{Core}
|
|
|
|
\li The core plugin. Provides the main window and managers for editors,
|
2009-01-05 18:04:24 +01:00
|
|
|
actions, mode windows and files, just to mention the most important ones.
|
|
|
|
|
2011-04-14 12:58:14 +02:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{ProjectExplorer}
|
|
|
|
\li The project explorer plugin. Provides base classes for project handling.
|
2011-04-14 12:58:14 +02:00
|
|
|
|
2009-04-24 16:00:19 +02:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{Find}
|
|
|
|
\li Support for searching text in arbitrary widgets, and arbitrary other things.
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{Locator}
|
|
|
|
\li Hooks for providing content for Locator.
|
2009-04-24 16:00:19 +02:00
|
|
|
|
2011-01-26 17:22:25 +01:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{Debugger}
|
|
|
|
\li Debugging functionality.
|
2011-01-26 17:22:25 +01:00
|
|
|
|
2011-03-28 14:19:17 +02:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{VcsBase}
|
|
|
|
\li Base classes for version control support.
|
2011-03-28 14:19:17 +02:00
|
|
|
|
2011-05-26 18:09:17 +02:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li \l{TextEditor}
|
|
|
|
\li This is where everything starts if you want to create a text editor. Besides
|
2011-05-26 18:09:17 +02:00
|
|
|
the base editor itself, this plugin contains APIs for supporting functionality
|
2011-05-27 14:30:17 +02:00
|
|
|
like \l{Snippets}{snippets}, highlighting, \l{CodeAssist}{code assist}, indentation
|
|
|
|
and style, and others.
|
2011-05-26 18:09:17 +02:00
|
|
|
|
2009-01-05 18:04:24 +01:00
|
|
|
\endtable
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\page classes.html
|
2009-01-06 15:56:47 +01:00
|
|
|
\title Qt Creator Classes
|
2009-01-05 18:04:24 +01:00
|
|
|
|
|
|
|
\generatelist classes
|
2009-01-06 15:56:47 +01:00
|
|
|
*/
|
2009-01-05 18:04:24 +01:00
|
|
|
|
2009-01-06 15:56:47 +01:00
|
|
|
/*!
|
|
|
|
\page namespaces.html
|
|
|
|
\title Qt Creator Namespaces
|
2009-01-05 18:04:24 +01:00
|
|
|
|
2009-01-06 15:56:47 +01:00
|
|
|
\generatelist namespaces
|
2009-01-05 18:04:24 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
2009-01-06 15:56:47 +01:00
|
|
|
\page mainclasses.html
|
|
|
|
\title Qt Creator Main Classes
|
|
|
|
|
2009-01-05 18:04:24 +01:00
|
|
|
\generatelist mainclasses
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*!
|
|
|
|
\page functions.html
|
2009-01-06 15:56:47 +01:00
|
|
|
\title Qt Creator Functions
|
2009-01-05 18:04:24 +01:00
|
|
|
|
2009-01-06 15:56:47 +01:00
|
|
|
\generatelist functionindex
|
2009-01-05 18:04:24 +01:00
|
|
|
*/
|
|
|
|
|
2009-04-24 16:00:19 +02:00
|
|
|
/*!
|
|
|
|
\page common_extension_tasks.html
|
|
|
|
\title Common Extension Tasks
|
|
|
|
|
2011-05-06 16:39:08 +02:00
|
|
|
This section summarizes the API functions that you can use to add UI
|
|
|
|
components to Qt Creator.
|
|
|
|
|
2009-04-24 16:00:19 +02:00
|
|
|
\table
|
|
|
|
\header
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Task
|
|
|
|
\li Details
|
|
|
|
\li API
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a menu or menu item.
|
|
|
|
\li You can extend existing menus or create new ones.
|
|
|
|
\li \l{Core::ActionManager}, \l{Core::Command}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a configurable keyboard shortcut.
|
|
|
|
\li Registering shortcuts makes it possible for users to configure them in
|
|
|
|
the common shortcut settings dialog.
|
|
|
|
\li \l{Core::ActionManager}, \l{Core::Command}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a mode.
|
|
|
|
\li Modes correspond to complete screens of controls, specialized for a task.
|
|
|
|
\li \l{Core::IMode}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a new editor type.
|
|
|
|
\li Such as an editor for XML files.
|
|
|
|
\li \l{Core::IEditorFactory}, \l{Core::IEditor}, \l{Core::IDocument}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a new wizard.
|
|
|
|
\li You can extend the wizards in File > New File or Project with your own
|
|
|
|
file and project templates.
|
|
|
|
\li \l{Core::IWizard}, \l{Core::StandardFileWizard},
|
|
|
|
\l{Core::BaseFileWizard}, \l{Core::BaseFileWizardParameters}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add support for a new version control system.
|
|
|
|
\li Version control systems integrated in QtCreator are Bazaar, CVS, Git,
|
|
|
|
Mecurial, Perforce, and Subversion.
|
|
|
|
\li \l{Core::IVersionControl}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a view to the navigation sidebar.
|
|
|
|
\li The one which shows the project tree, filesystem, open documents or bookmarks.
|
|
|
|
\li \l{Core::INavigationWidgetFactory}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add an options page to the \gui Options dialog.
|
|
|
|
\li Add a new page to existing or new category in Tools > Options.
|
|
|
|
\li \l{Core::IOptionsPage}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a find filter to the \gui Find dialog.
|
|
|
|
\li Implement any kind of search term based search.
|
|
|
|
\li \l{Find::IFindFilter}, \l{Find::SearchResultWindow}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add support for the find tool bar to a widget.
|
|
|
|
\li The widget that has focus is asked whether it supports text search. You can
|
|
|
|
add support for widgets under your control.
|
|
|
|
\li \l{Find::IFindSupport}, \l{Find::BaseTextFind}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a completely new project type.
|
|
|
|
\li
|
|
|
|
\li
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a new type of build step.
|
|
|
|
\li
|
|
|
|
\li
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Add a new filter to the locator.
|
|
|
|
\li 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.
|
|
|
|
\li \l{Locator::ILocatorFilter}, \l{Locator::FilterEntry}, \l{Locator::BaseFileFilter}
|
2009-04-24 16:00:19 +02:00
|
|
|
|
2009-12-02 15:05:49 +01:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li Show a progress indicator for a concurrently running task.
|
|
|
|
\li You can show a progress indicator for your tasks in the left hand tool bar,
|
|
|
|
and also in the application icon (on platforms that support it).
|
|
|
|
\li \l{Core::ProgressManager}, \l{Core::FutureProgress}
|
2009-12-02 15:05:49 +01:00
|
|
|
|
2009-04-24 16:00:19 +02:00
|
|
|
\row
|
2013-09-25 18:19:45 +02:00
|
|
|
\li
|
|
|
|
\li
|
|
|
|
\li
|
2009-04-24 16:00:19 +02:00
|
|
|
|
|
|
|
\endtable
|
|
|
|
*/
|