Generated reference › API — ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image
kind: generated#api#icoresdk-icorestudio-studioobjects-icoremodelviews-image

API — ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image

The public contract of 3 header(s) under src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image — 3 class/struct definition(s), 58 declaration(s). Each section shows the header's banner and its public (and protected-virtual) surface exactly as the file writes it.

HeaderDefinesDeclarationsBases
ICoreImage.hICoreImage27
ICoreImageView.hICoreImageView17public ICoreCanvasObjectsRoot
ICoreImageViewPixmap.hICoreImageViewPixmap14public ICoreGraphicsObject

ICoreImage.h#

src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image/ICoreImage.h

Layer 4: canonical "remove me from the live model graph" (parent container + canvas/selection). Idempotent. Called by collectGarbage_Image so collection is self-sufficient.

ICoreImage#

ICoreImage.h:10 · class · pImpl · 27 declaration(s)

class ICoreImage {
public:
    explicit ICoreImage(ICoreSubsystemTreeNode* parent);
    std::string generateUniqueName(const std::string& prefix) const;

    void addToCanvas(ICoreCanvas* canvas) const;
    void freeFromCanvas();

    // Layer 4: canonical "remove me from the live model graph" (parent container + canvas/selection).
    // Idempotent. Called by collectGarbage_Image so collection is self-sufficient.
    void detachFromModel();

    void select();
    void deSelect();

    void assignClonedProperties(const ICoreImage* originalImage);

    ICoreCanvasObjectState* getState() const;
    void updateToState(ICoreCanvasObjectState* desiredState);

    void setParent(ICoreSubsystemTreeNode* newParent);

    void setName(const std::string& newName);

    ICoreSubsystemTreeNode* getParent() const;
    std::string getName();
    std::string getPath() const;

    [[nodiscard]] ICoreImageView* getImageUI() const;

    [[nodiscard]] std::string getClassID() const;

    bool isSelected() const;

    void setTrashOrder(int newTrashOrder);
    int getTrashOrder();
    void increaseTrashOrder();
    void decreaseTrashOrder();

    void resetToInitialState(ICoreSubsystemTreeNode* parent);
    void kill();
    void setAlive();
    bool isAlive() const;

    ~ICoreImage();

private:
    class Impl;                    // the two-line residue; state lives here
    std::unique_ptr<Impl> impl;
};

ICoreImageView.h#

src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image/UI/ICoreImageView.h

Q_OBJECT removed (P2.9d-3): this class declares no signal, slot, Q_PROPERTY or Q_INVOKABLE of its own, and nothing qobject_casts to it, holds a QPointer to it, animates it by name or reaches its metaObject(). It therefore had a meta-object nobody consulted -- and it could not keep one past P2.9d-5, when the base stops being a QObject.

ICoreImageView#

ICoreImageView.h:15 · class · final · bases public ICoreCanvasObjectsRoot · pImpl · 17 declaration(s)

class ICoreImageView final : public ICoreCanvasObjectsRoot {
public:
    explicit ICoreImageView(ICoreGraphicsObject* parent = nullptr, ICoreImage* parentImage = nullptr);

    void reconstructDescendents() override;

    void assignClonedProperties(ICoreImageView* imageUI);

    void setWidth(double width) override;
    void setHeight(double height) override;

    [[nodiscard]] ICorePoint getPosRelativeToCanvasOrigin() const;

    [[nodiscard]] ICoreImageViewPixmap* getPixmap() const;
    [[nodiscard]] std::string getPixmapClassID() const;

    void resetToInitialState(ICoreNativeItem* parent = nullptr, ICoreImage* parentImage = nullptr);
    void kill();
    void setAlive();
    bool isAlive() const;

    ~ICoreImageView() override;

protected:
    // ⚠ These are PROTECTED now, and the comment they replace was stale rather
    // than load-bearing: it said "not protected because they are accessed from
    // ICoreImageViewLabel", and no such class exists anywhere in the tree -- the
    // Image/UI directory holds only this class and ICoreImageViewPixmap. A
    // tree-wide search for external calls to these handlers finds exactly one
    // caller in the whole repository, and it belongs to the TEXT BOX, not the
    // image. (That one is real, and got a named delegation seam on
    // ICoreCanvasTextBoxView rather than a re-published override.)
    bool mousePressed(const ICoreMouseEvent& event) override;
    bool mouseMoved(const ICoreMouseEvent& event) override;
    bool mouseReleased(const ICoreMouseEvent& event) override;

    bool mouseDoubleClicked(const ICoreMouseEvent& event) override;

private:
    class Impl;                    // the two-line residue; state lives here
    std::unique_ptr<Impl> impl;
};

ICoreImageViewPixmap.h#

src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Image/UI/ICoreImageViewPixmap.h

Q_OBJECT removed (P2.9d-3): this class declares no signal, slot, Q_PROPERTY or Q_INVOKABLE of its own, and nothing qobject_casts to it, holds a QPointer to it, animates it by name or reaches its metaObject(). It therefore had a meta-object nobody consulted -- and it could not keep one past P2.9d-5, when the base stops being a QObject.

ICoreImageViewPixmap#

ICoreImageViewPixmap.h:12 · class · bases public ICoreGraphicsObject · pImpl · 14 declaration(s)

class ICoreImageViewPixmap : public ICoreGraphicsObject {
public:
    explicit ICoreImageViewPixmap(ICoreGraphicsObject* parent = nullptr);

    ICoreRect contentBounds() const override;

    void paintContent(ICorePainter& painter) override;

    void loadNewImageFromExternalPath(const ICoreString& imagePath);

    void loadImageFromCachedPixmap(const std::string &pixmapClassID, const ICorePixmap &pixmap);
    void clearLoadedImage();
    void cloneFrom(const ICoreImageViewPixmap* other);

    void reconstructDescendents();

    void setWidth(int width);
    void setHeight(int height);
    void setSize(int width, int height);

    std::string getPixmapId();

    ~ICoreImageViewPixmap() override;

protected:
    bool mouseDoubleClicked(const ICoreMouseEvent& event) override;

private:
    class Impl;                    // the two-line residue; state lives here
    std::unique_ptr<Impl> impl;
};