Generated reference › API — ICoreEssentials/UI
kind: generated#api#icoreessentials-ui

API — ICoreEssentials/UI

The public contract of 3 header(s) under src/ICoreEssentials/UI — 8 class/struct definition(s), 16 declaration(s). Each section shows the header's banner and its public (and protected-virtual) surface exactly as the file writes it.

ICoreNativeHandle.h#

src/ICoreEssentials/UI/ICoreNativeHandle.h

The one thing a Qt-free header is allowed to say about the toolkit object behind a wrapper: that it exists, and that it has an address.

Every UI wrapper in ICoreEssentials is moving to the SDK shape --

class ICoreThing { public: ICoreThing(); ~ICoreThing(); private: class Impl; std::unique_ptr<Impl> impl; };

ICoreNativeWidget#

ICoreNativeHandle.h:161 · class · 2 declaration(s)

Implemented by every wrapper that owns a native widget (something that can be parented, laid out, or shown).

class ICoreNativeWidget {
public:
    virtual ~ICoreNativeWidget() = default;

    // The QWidget behind this wrapper, as an opaque handle. Never null for a
    // live wrapper.
    virtual ICoreNativeHandle nativeWidgetHandle() const = 0;
};
};

ICoreNativeItem#

ICoreNativeHandle.h:173 · class · 2 declaration(s)

Implemented by wrappers owning a native scene item -- the QGraphicsItem family, which is not a widget and cannot be laid out.

class ICoreNativeItem {
public:
    virtual ~ICoreNativeItem() = default;

    virtual ICoreNativeHandle nativeItemHandle() const = 0;
};
};

ICoreNativeObject#

ICoreNativeHandle.h:183 · class · 2 declaration(s)

Implemented by wrappers owning a bare QObject -- models, filters, effects, animations.

class ICoreNativeObject {
public:
    virtual ~ICoreNativeObject() = default;

    virtual ICoreNativeHandle nativeObjectHandle() const = 0;
};
};

ICoreNativeScene#

ICoreNativeHandle.h:196 · class · 2 declaration(s)

Implemented by wrappers owning a native scene -- the QGraphicsScene the item family lives in.

class ICoreNativeScene {
public:
    virtual ~ICoreNativeScene() = default;

    virtual ICoreNativeHandle nativeSceneHandle() const = 0;
};
};

ICoreAnimationTarget#

ICoreNativeHandle.h:228 · class · 2 declaration(s)

Implemented by a wrapper that can be driven by a PROPERTY animation -- ICoreAnimation's target.

class ICoreAnimationTarget {
public:
    virtual ~ICoreAnimationTarget() = default;

    virtual ICoreNativeHandle nativeAnimationTargetHandle() const = 0;
};
};

ICoreNativeLayout#

ICoreNativeHandle.h:260 · class · 2 declaration(s)

DECIDED (task P0.3): a layout gets its OWN interface.

class ICoreNativeLayout {
public:
    virtual ~ICoreNativeLayout() = default;

    virtual ICoreNativeHandle nativeLayoutHandle() const = 0;
};
};

File-scope declarations#

// An opaque pointer to the toolkit object a wrapper owns. Meaningless outside
// ICoreEssentials/*.cpp -- never dereference it, never cast it at a call site.
using ICoreNativeHandle = void*;

ICoreNativeHandleAccess.h#

src/ICoreEssentials/UI/ICoreNativeHandleAccess.h

IMPLEMENTATION SIDE ONLY. Include this from a .cpp inside ICoreEssentials (or another sanctioned zone) -- never from a public wrapper header, because it names Qt types and would drag them back across the boundary this whole exercise exists to build.

ICoreNativeHandle.h gives the Qt-free half of the seam: an opaque void* and the three interfaces that hand one out. This file gives the other half: the casts that turn that void* back into something the toolkit understands. They live here, in one place, so that the unchecked cast appears once per kind rather than once per call site.

Every helper tolerates a null wrapper pointer and returns null for it. That is deliberate: parent is optional almost everywhere in this API, and making each caller write the null check is how one of them eventually

ICoreForeignWidget#

ICoreNativeHandleAccess.h:186 · class · final · bases public ICoreNativeWidget · 3 declaration(s)

ICoreForeignWidget (task Q0.6) -- the REPLACEMENT for the helper above, and the answer to the trap documented on it.

class ICoreForeignWidget final : public ICoreNativeWidget {
public:
    explicit ICoreForeignWidget(QWidget* widget) noexcept;

    ICoreNativeHandle nativeWidgetHandle() const override;

    // One pointer. Public so the .cpp's static_asserts can reach them -- see
    // UI/Values/ICoreColor.h, whose shape this copies.
    static constexpr std::size_t kStateSize  = sizeof(void*);
    static constexpr std::size_t kStateAlign = alignof(void*);

};

ICoreObject.h#

src/ICoreEssentials/UI/ICoreObject.h

ICoreObject#

ICoreObject.h:20 · class · bases public QObject · 1 declaration(s)

⚠ FROZEN QT LAYER (P8.5) — DO NOT EDIT, DO NOT ADD MEMBERS.

class ICoreObject : public QObject {
protected:
    // Base only — this layer is never instantiated bare.
    // Declared here, defined in ICoreObject.cpp -- the header surface rule
    // takes bodies out even when the body is a forwarding one-liner.
    explicit ICoreObject(QObject* parent = nullptr);
};
};