IMode Class
class Core::IModeThe IMode class represents a mode in Qt Creator. More...
Header: | #include <coreplugin/imode.h> |
Inherits: | Core::IContext |
Inherited By: |
Public Functions
IMode(QObject *parent = nullptr) | |
QString | displayName() const |
QIcon | icon() const |
Utils::Id | id() const |
bool | isEnabled() const |
QMenu * | menu() const |
int | priority() const |
void | setDisplayName(const QString &displayName) |
void | setEnabled(bool enabled) |
void | setIcon(const QIcon &icon) |
void | setId(Utils::Id id) |
void | setMenu(QMenu *menu) |
void | setPriority(int priority) |
Signals
void | enabledStateChanged(bool enabled) |
Detailed Description
This class defines a mode and its representation as a tool button in the mode selector on the left side of Qt Creator's main window.
Modes are used to show a different UI for different development tasks. Therefore modes control the layout of most of Qt Creator's main window, except for the tool bar on the left side and the status bar. For example Edit mode, the most commonly used mode for coding, shows the code editor and various navigation and output panes. Debug mode enhances that view with a configurable layout of debugging related information. Design mode reserves all the main window's space for the graphical editor.
A mode is an IContext. Set the context's widget to define the mode's layout.
Adding a mode should be done sparingly, only as a last reserve. Consider if your feature can instead be implemented as a INavigationWidgetFactory, IOutputPane, Debugger::Utils::Perspective
, separate dialog, or specialized IEditor first.
If you add a mode, consider adding a NavigationWidgetPlaceHolder on the left side and a OutputPanePlaceHolder on the bottom of your mode's layout.
Modes automatically register themselves with Qt Creator when they are created and unregister themselves when they are destructed.
Member Function Documentation
IMode::IMode(QObject *parent = nullptr)
Creates an IMode with an optional parent.
Registers the mode in Qt Creator.