Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
PhosphorLayout::ILayoutSourceRegistry Class Reference

Abstract notifier surface for every registry that feeds an ILayoutSource. More...

#include <phosphor-layout-api/include/PhosphorLayoutApi/ILayoutSourceRegistry.h>

Inheritance diagram for PhosphorLayout::ILayoutSourceRegistry:
[legend]

Signals

void contentsChanged ()
 Emitted when the set of layouts this registry produces changes in any way that invalidates cached previews — entries added, removed, renamed, or re-parameterised.
 

Public Member Functions

 ILayoutSourceRegistry (QObject *parent=nullptr)
 
 ~ILayoutSourceRegistry () override
 

Detailed Description

Abstract notifier surface for every registry that feeds an ILayoutSource.

A provider library (phosphor-zones, phosphor-tiles, future phosphor-scrolling, …) has some concrete registry class that owns its in-memory catalogue of layouts and mutates it over time. That registry inherits ILayoutSourceRegistry so the matching ILayoutSource can self-wire a single contentsChanged signal in its constructor, without every consumer having to know which provider-specific signal to bridge.

Providers with finer-grained signals of their own (e.g. AlgorithmRegistry's algorithmRegistered / algorithmUnregistered / previewParamsChanged) keep them alongside this interface and internally forward each one into contentsChanged — callers that only care about "something changed" listen on the unified signal; callers that need discrimination stay on the provider-specific ones.

Intentionally QObject-derived. The corresponding zones interface (PhosphorZones::IZoneLayoutRegistry) inherits this type to pick up the signal, and concrete registries inherit through it rather than through QObject directly so there is still exactly one QObject base along every inheritance path.

Constructor & Destructor Documentation

◆ ILayoutSourceRegistry()

PhosphorLayout::ILayoutSourceRegistry::ILayoutSourceRegistry ( QObject *  parent = nullptr)
explicit

◆ ~ILayoutSourceRegistry()

PhosphorLayout::ILayoutSourceRegistry::~ILayoutSourceRegistry ( )
override

Member Function Documentation

◆ contentsChanged

void PhosphorLayout::ILayoutSourceRegistry::contentsChanged ( )
signal

Emitted when the set of layouts this registry produces changes in any way that invalidates cached previews — entries added, removed, renamed, or re-parameterised.

Corresponds 1:1 with ILayoutSource::contentsChanged on the source side; concrete ILayoutSource implementations are expected to bridge the two directly in their constructor.


The documentation for this class was generated from the following file: