Skip to content

Settings pages

Draft

The settings-registry interface is referenced from IPluginContext (settings(), appSettings(), settingsRegistry()) but its exact shape is not reproduced in PLUGIN_ARCHITECTURE.md. Fill this page in from Components/PluginApi/Include/PluginApi/ headers, then mark it confirmed.

A plugin can contribute its own page to the Preferences dialog so users configure it alongside the built-in settings. The relevant services are reached from the plugin context:

bool initialize(MTE::plugin::IPluginContext& ctx) override {
    auto& settings         = ctx.settings();          // per-plugin storage
    auto& settingsRegistry = ctx.settingsRegistry();  // contribute a page
    // ... register a settings page / read & write values ...
    return true;
}

To document here

  • How a settings page is described in backend-neutral terms (so a Python plugin could declare the same form).
  • Reading and writing persisted values (settings() vs appSettings()).
  • How a page appears under Preferences and how it is localised (see Translations).

Info

Until this page is verified, treat the headers in Components/PluginApi/Include/PluginApi/ as authoritative.