PluginContributions.h header

#include <ew/app/PluginContributions.h>

Namespace ew::app

PluginMenuCommand struct

struct ew::app::PluginMenuCommand

A command a plugin contributes to the app's menus. id is a stable identifier; title is the shown menu text; invoke runs the command with live access to the app (to read/edit the project or open a dialog). Runs on the GUI thread.

Members

QString ew::app::PluginMenuCommand::id

Stable identifier for the command (for shortcuts/telemetry; plugin-scoped).

QString ew::app::PluginMenuCommand::title

The command's shown menu text.

std::function<void(PluginAppContext&)> ew::app::PluginMenuCommand::invoke

Runs the command, given live access to the app.

PluginPanel struct

struct ew::app::PluginPanel

A dock/panel a plugin contributes (the ABI-2 "whole new window" surface). id is a stable objectName the host uses for layout persistence (so a plugin panel is saved in perspectives like any built-in dock); title is the shown tab title; makeWidget is the factory the host calls – once, after the workspace is ready – passing a PluginAppContext, to build the panel's widget. The returned QWidget is re-parented into an app dock and owned by the host thereafter; the plugin library must stay loaded for its widget's code to remain valid (the host keeps plugins resident).

Members

QString ew::app::PluginPanel::id

Stable objectName for the dock (layout/perspective key); should be unique and plugin-scoped.

QString ew::app::PluginPanel::title

The dock's display title.

std::function<QWidget*(PluginAppContext&)> ew::app::PluginPanel::makeWidget

Builds the panel's widget, given live access to the app. Called at most once by the host.