IMode Class
class Core::IModeThe IMode class represents a mode in Qt Creator. More...
Header: | #include <coreplugin/imode.h> |
Inherits: | Core::IContext |
Inherited By: |
Properties
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.
Property Documentation
displayName : QString
This property holds the display name of the mode.
The display name is shown under the mode icon in the mode selector.
Access functions:
QString | displayName() const |
void | setDisplayName(const QString &displayName) |
enabled : bool
This property holds whether the mode is enabled.
By default, this property is true
.
Access functions:
bool | isEnabled() const |
void | setEnabled(bool enabled) |
Notifier signal:
void | enabledStateChanged(bool enabled) |
icon : QIcon
This property holds the icon of the mode.
The icon is shown for the mode in the mode selector. Mode icons should support the sizes 34x34 pixels and 68x68 pixels for HiDPI.
Access functions:
QIcon | icon() const |
void | setIcon(const QIcon &icon) |
id : Utils::Id
This property holds the ID of the mode.
Access functions:
Utils::Id | id() const |
void | setId(Utils::Id id) |
menu : QMenu*
This property holds the mode's menu.
By default, a mode does not have a menu. When you set a menu, it is not owned by the mode unless you set the parent explicitly.
Access functions:
QMenu * | menu() const |
void | setMenu(QMenu *menu) |
priority : int
This property holds the priority of the mode.
The priority defines the order in which the modes are shown in the mode selector. Higher priority moves to mode towards the top. Welcome mode, which should stay at the top, has the priority 100. The default priority is -1.
Access functions:
int | priority() const |
void | setPriority(int priority) |
Member Function Documentation
IMode::IMode(QObject *parent = nullptr)
Creates an IMode with an optional parent.
Registers the mode in Qt Creator.
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.