- Extending Qt Creator Manual
- IContext
- Extending Qt Creator Manual 6.0.2

# IContext Class

class Core::IContext

The IContext class associates a widget with a context list and context help. More...

Header: | #include <coreplugin/icontext.h>
Inherited By: | Core::IEditor and Core::IMode

- List of all members, including inherited members

## Public Types

(alias) | HelpCallback

## Public Functions

| IContext(QObject *parent = nullptr)
virtual Core::Context | context() const
virtual void | contextHelp(const Core::IContext::HelpCallback &callback) const
virtual void | setContext(const Core::Context &context)
virtual void | setContextHelp(const Core::HelpItem &id)
virtual void | setWidget(QWidget *widget)
virtual QWidget * | widget() const

## Detailed Description

An instance of IContext must be registered with Core::ICore::addContextObject() to have an effect. For many subclasses of IContext, like Core::IEditor and Core::IMode, this is done automatically. But instances of IContext can be created manually to associate a context and context help for an arbitrary widget, too. IContext instances are automatically unregistered when they are deleted. Use Core::ICore::removeContextObject() if you need to unregister an IContext instance manually.

Whenever the widget is part of the application wide focus widget's parent chain, the associated context list is made active. This makes actions active that were registered for any of the included context IDs. If the user requests context help, the top-most IContext instance in the focus widget's parent hierarchy is asked to provide it.

See The Action Manager and Commands for an overview of how contexts are used for managing actions.

See also Core::ICore, Core::Context, Core::ActionManager, and The Action Manager and Commands.

## Member Type Documentation

### `[alias]` IContext::HelpCallback

This is a type alias for std::function<void(const HelpItem &item)>.

The HelpCallback class defines the callback function that is used to report the help item to show when the user requests context help.

## Member Function Documentation

### IContext::IContext(QObject *parent = nullptr)

Creates an IContext with an optional parent.

### `[virtual]` Core::Context IContext::context() const

Returns the context list associated with this IContext.

See also setContext().

### `[virtual]` void IContext::contextHelp(const Core::IContext::HelpCallback &callback) const

Called when the user requests context help and this IContext is the top-most in the application focus widget's parent hierarchy. Implementations must call the passed callback with the resulting help item. The default implementation returns an help item with the help ID that was set with setContextHelp().

See also setContextHelp().

### `[virtual]` void IContext::setContext(const Core::Context &context)

Sets the context list associated with this IContext to context.

See also context().

### `[virtual]` void IContext::setContextHelp(const Core::HelpItem &id)

Sets the context help item associated with this IContext to id.

See also contextHelp().

### `[virtual]` void IContext::setWidget(QWidget *widget)

Sets the widget associated with this IContext to widget.

See also widget().

### `[virtual]` QWidget *IContext::widget() const

Returns the widget associated with this IContext.

See also setWidget().