2010-12-21 14:02:05 +01:00
|
|
|
/****************************************************************************
|
|
|
|
|
**
|
2020-02-10 13:28:29 +01:00
|
|
|
** Copyright (C) 2020 The Qt Company Ltd.
|
2016-01-15 14:51:16 +01:00
|
|
|
** Contact: https://www.qt.io/licensing/
|
2010-12-21 14:02:05 +01:00
|
|
|
**
|
2016-01-15 14:51:16 +01:00
|
|
|
** This file is part of the Qt Creator documentation.
|
2010-12-21 14:02:05 +01:00
|
|
|
**
|
2016-01-15 14:51:16 +01:00
|
|
|
** Commercial License Usage
|
|
|
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
|
|
|
** accordance with the commercial license agreement provided with the
|
|
|
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
|
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
|
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
|
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
2010-12-21 14:02:05 +01:00
|
|
|
**
|
2016-01-15 14:51:16 +01:00
|
|
|
** GNU Free Documentation License Usage
|
2010-12-21 14:02:05 +01:00
|
|
|
** Alternatively, this file may be used under the terms of the GNU Free
|
|
|
|
|
** Documentation License version 1.3 as published by the Free Software
|
2016-01-15 14:51:16 +01:00
|
|
|
** Foundation and appearing in the file included in the packaging of
|
|
|
|
|
** this file. Please review the following information to ensure
|
|
|
|
|
** the GNU Free Documentation License version 1.3 requirements
|
|
|
|
|
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
|
2010-12-21 14:02:05 +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
|
2015-06-23 16:25:56 +02:00
|
|
|
components to \QC.
|
2011-05-06 16:39:08 +02:00
|
|
|
|
2009-04-24 16:00:19 +02:00
|
|
|
\table
|
2015-06-23 16:25:56 +02:00
|
|
|
\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.
|
2020-02-20 13:14:01 +01:00
|
|
|
\li You can extend the wizards in \uicontrol File >
|
|
|
|
|
\uicontrol {New File or Project} with your own file
|
|
|
|
|
and project templates. We recommend that you create
|
|
|
|
|
JSON-based wizards instead of implementing new
|
|
|
|
|
wizards in C++ code.
|
|
|
|
|
\li \l{https://doc.qt.io/qtcreator/creator-project-wizards.html}
|
|
|
|
|
{Adding New Custom Wizards}
|
2015-06-23 16:25:56 +02:00
|
|
|
|
2020-02-20 13:14:01 +01:00
|
|
|
\l{Core::IWizardFactory}, \l{Core::BaseFileWizardFactory},
|
|
|
|
|
\l{Core::BaseFileWizard}, \l{Core::WizardDialogParameters}
|
2015-06-23 16:25:56 +02:00
|
|
|
\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.
|
2020-02-13 16:14:56 +01:00
|
|
|
\li \l{Core::IFindFilter}, \l{Core::SearchResultWindow}
|
2015-06-23 16:25:56 +02:00
|
|
|
|
|
|
|
|
\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.
|
2020-02-13 16:14:56 +01:00
|
|
|
\li \l{Core::IFindSupport}, \l{Core::BaseTextFind}
|
2015-06-23 16:25:56 +02:00
|
|
|
|
2020-02-10 13:28:29 +01:00
|
|
|
\omit
|
2015-06-23 16:25:56 +02:00
|
|
|
\row
|
|
|
|
|
\li Add a completely new project type.
|
|
|
|
|
\li
|
|
|
|
|
\li
|
|
|
|
|
|
|
|
|
|
\row
|
|
|
|
|
\li Add a new type of build step.
|
|
|
|
|
\li
|
|
|
|
|
\li
|
2020-02-10 13:28:29 +01:00
|
|
|
\endomit
|
2015-06-23 16:25:56 +02:00
|
|
|
|
|
|
|
|
\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.
|
2020-02-13 16:14:56 +01:00
|
|
|
\li \l{Core::ILocatorFilter}, \l{Core::BaseFileFilter}
|
2015-06-23 16:25:56 +02:00
|
|
|
|
|
|
|
|
\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}
|
|
|
|
|
|
2009-04-24 16:00:19 +02:00
|
|
|
\endtable
|
|
|
|
|
*/
|