forked from qt-creator/qt-creator
		
	
		
			
				
	
	
		
			207 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			207 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/****************************************************************************
 | 
						|
**
 | 
						|
** This file is part of Qt Creator
 | 
						|
**
 | 
						|
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
 | 
						|
**
 | 
						|
** Contact: Nokia Corporation (qt-info@nokia.com)
 | 
						|
**
 | 
						|
** No Commercial Usage
 | 
						|
**
 | 
						|
** This file contains pre-release code and may not be distributed.
 | 
						|
** You may use this file in accordance with the terms and conditions
 | 
						|
** contained in the Technology Preview License Agreement accompanying
 | 
						|
** this package.
 | 
						|
**
 | 
						|
** 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 qt-info@nokia.com.
 | 
						|
**
 | 
						|
****************************************************************************/
 | 
						|
 | 
						|
/*!
 | 
						|
    \page index.html
 | 
						|
    \title Qt Creator
 | 
						|
 | 
						|
    Qt Creator is Nokia's crossplatform IDE. The core of Qt Creator is
 | 
						|
    basically only a \l{ExtensionSystem}{plugin loader}.
 | 
						|
    All functionality is implemented in plugins, the basis of Qt Creator 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.
 | 
						|
 | 
						|
    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.
 | 
						|
 | 
						|
    \table
 | 
						|
    \header
 | 
						|
    \o Library Name
 | 
						|
    \o Description
 | 
						|
 | 
						|
    \row
 | 
						|
    \o \l{Aggregation}
 | 
						|
    \o Adds functionality for "glueing" QObjects of different
 | 
						|
    types together, so you can "cast" between them.
 | 
						|
 | 
						|
    \row
 | 
						|
    \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.
 | 
						|
 | 
						|
    \endtable
 | 
						|
 | 
						|
    \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
 | 
						|
    \o Plugin Name
 | 
						|
    \o Description
 | 
						|
 | 
						|
    \row
 | 
						|
    \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{Locator}
 | 
						|
    \o Hooks for providing content for Locator.
 | 
						|
 | 
						|
    \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
 | 
						|
 | 
						|
    \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}
 | 
						|
 | 
						|
    \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{Locator::ILocatorFilter}, \l{Locator::FilterEntry}, \l{Locator::BaseFileFilter}
 | 
						|
 | 
						|
    \row
 | 
						|
    \o Show a progress indicator for a concurrently running task.
 | 
						|
    \o 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).
 | 
						|
    \o \l{Core::ProgressManager}, \l{Core::FutureProgress}
 | 
						|
 | 
						|
    \row
 | 
						|
    \o
 | 
						|
    \o
 | 
						|
    \o
 | 
						|
 | 
						|
    \endtable
 | 
						|
*/
 |