forked from qt-creator/qt-creator
		
	Change-Id: I12a5d96749ed70e2394f1d0716256618c132067f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
		
			
				
	
	
		
			251 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			251 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /****************************************************************************
 | |
| **
 | |
| ** Copyright (C) 2015 The Qt Company Ltd.
 | |
| ** Contact: http://www.qt.io/licensing
 | |
| **
 | |
| ** This file is part of Qt Creator
 | |
| **
 | |
| **
 | |
| ** 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.
 | |
| **
 | |
| **
 | |
| ****************************************************************************/
 | |
| 
 | |
| /*!
 | |
|     \page qtcreator-api.html
 | |
| 
 | |
|     \title Qt Creator API Reference
 | |
| 
 | |
|     The core of \QC is basically only a \l{ExtensionSystem}{plugin loader}. All
 | |
|     functionality is implemented in plugins. The basis of \QC is 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.
 | |
| 
 | |
|     \section1 Libraries
 | |
| 
 | |
|     \section2 Core Libraries
 | |
| 
 | |
|     There are a few core libraries used by many parts of Qt Creator.
 | |
| 
 | |
|     \table
 | |
|         \header
 | |
|             \li Library Name
 | |
|             \li Description
 | |
| 
 | |
|         \row
 | |
|             \li \l{Aggregation}
 | |
|             \li Adds functionality for "glueing" QObjects of different types
 | |
|                 together, so you can "cast" between them.
 | |
| 
 | |
|         \row
 | |
|             \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.
 | |
| 
 | |
|         \row
 | |
|             \li \l{Utils}
 | |
|             \li General utility library.
 | |
| 
 | |
|         \row
 | |
|             \li \l{QmlJS}
 | |
|             \li QML and JavaScript language support library.
 | |
| 
 | |
|     \endtable
 | |
| 
 | |
|     \section2 Additional libraries
 | |
| 
 | |
|     \table
 | |
|         \header
 | |
|             \li Library Name
 | |
|             \li Description
 | |
| 
 | |
|         \row
 | |
|             \li \l{qtcreatorcdbext}
 | |
|             \li Windows CDB debugger extension
 | |
|     \endtable
 | |
| 
 | |
|     \section1 Plugins
 | |
| 
 | |
|     As already mentioned, \QC is basically only a plugin loader framework
 | |
|     which gets its IDE functionality through plugins. The most important plugin
 | |
|     is the \c Core plugin which provides all the basic functionality needed
 | |
|     later to integrate e.g. editors or mode windows.
 | |
| 
 | |
|     \table
 | |
|         \header
 | |
|             \li Plugin Name
 | |
|             \li Description
 | |
| 
 | |
|         \row
 | |
|             \li \l{Core}
 | |
|             \li The core plugin. Provides the main window and managers for
 | |
|                 editors, actions, mode windows and files, just to mention the
 | |
|                 most important ones.
 | |
| 
 | |
|                 This plugin also contains classes necessary to hook into the
 | |
|                 \l{Locator} as well as support for searching text in arbitrary
 | |
|                 widgets.
 | |
| 
 | |
|         \row
 | |
|             \li \l{ProjectExplorer}
 | |
|             \li The project explorer plugin. Provides base classes for project
 | |
|                 handling.
 | |
| 
 | |
|         \row
 | |
|             \li \l{Debugger}
 | |
|             \li Debugging functionality.
 | |
| 
 | |
|         \row
 | |
|             \li \l{VcsBase}
 | |
|             \li Base classes for version control support.
 | |
| 
 | |
|         \row
 | |
|             \li \l{TextEditor}
 | |
|             \li This is where everything starts if you want to create a text
 | |
|                 editor. Besides the base editor itself, this plugin contains
 | |
|                 APIs for supporting functionality like \l{Snippets}{snippets},
 | |
|                 highlighting, \l{CodeAssist}{code assist}, indentation and
 | |
|                 style, and others.
 | |
|     \endtable
 | |
| */
 | |
| 
 | |
| /*!
 | |
|     \page classes.html
 | |
|     \title Qt Creator Classes
 | |
| 
 | |
|     \generatelist classes
 | |
| */
 | |
| 
 | |
| /*!
 | |
|     \page namespaces.html
 | |
|     \title Qt Creator Namespaces
 | |
| 
 | |
|     \generatelist namespaces
 | |
| */
 | |
| 
 | |
| /*!
 | |
|     \page mainclasses.html
 | |
|     \title Qt Creator Main Classes
 | |
| 
 | |
|     \generatelist mainclasses
 | |
| 
 | |
| */
 | |
| 
 | |
| /*!
 | |
|     \page functions.html
 | |
|     \title Qt Creator Functions
 | |
| 
 | |
|     \generatelist functionindex
 | |
| */
 | |
| 
 | |
| /*!
 | |
|     \page common_extension_tasks.html
 | |
|     \title Common Extension Tasks
 | |
| 
 | |
|     This section summarizes the API functions that you can use to add UI
 | |
|     components to \QC.
 | |
| 
 | |
|     \table
 | |
|         \header
 | |
|             \li Task
 | |
|             \li Details
 | |
|             \li API
 | |
| 
 | |
|         \row
 | |
|             \li Add a menu or menu item.
 | |
|             \li You can extend existing menus or create new ones.
 | |
|             \li \l{Core::ActionManager}, \l{Core::Command}
 | |
| 
 | |
|         \row
 | |
|             \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}
 | |
| 
 | |
|         \row
 | |
|             \li Add a mode.
 | |
|             \li Modes correspond to complete screens of controls, specialized
 | |
|                 for a task.
 | |
|             \li \l{Core::IMode}
 | |
| 
 | |
|         \row
 | |
|             \li Add a new editor type.
 | |
|             \li Such as an editor for XML files.
 | |
|             \li \l{Core::IEditorFactory}, \l{Core::IEditor}, \l{Core::IDocument}
 | |
| 
 | |
|         \row
 | |
|             \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}
 | |
| 
 | |
|         \row
 | |
|             \li Add support for a new version control system.
 | |
|             \li Version control systems integrated in \QC are Bazaar, CVS, Git,
 | |
|                 Mecurial, Perforce, and Subversion.
 | |
|             \li \l{Core::IVersionControl}
 | |
| 
 | |
|         \row
 | |
|             \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}
 | |
| 
 | |
|         \row
 | |
|             \li Add an options page to the \uicontrol Options dialog.
 | |
|             \li Add a new page to existing or new category in
 | |
|                 \uicontrol Tools > \uicontrol Options.
 | |
|             \li \l{Core::IOptionsPage}
 | |
| 
 | |
|         \row
 | |
|             \li Add a find filter to the \uicontrol Find dialog.
 | |
|             \li Implement any kind of search term based search.
 | |
|             \li \l{Find::IFindFilter}, \l{Core::SearchResultWindow}
 | |
| 
 | |
|         \row
 | |
|             \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{Core::IFindSupport}, \l{Find::BaseTextFind}
 | |
| 
 | |
|         \row
 | |
|             \li Add a completely new project type.
 | |
|             \li
 | |
|             \li
 | |
| 
 | |
|         \row
 | |
|             \li Add a new type of build step.
 | |
|             \li
 | |
|             \li
 | |
| 
 | |
|         \row
 | |
|             \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{Core::ILocatorFilter}, \l{Core::LocatorFilterEntry},
 | |
|                 \l{Locator::BaseFileFilter}
 | |
| 
 | |
|         \row
 | |
|             \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}
 | |
| 
 | |
|         \row
 | |
|             \li
 | |
|             \li
 | |
|             \li
 | |
| 
 | |
|     \endtable
 | |
| */
 |