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

API — ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/TextBox

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

ICoreCanvasTextBox.h#

src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/TextBox/ICoreCanvasTextBox.h

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

ICoreCanvasTextBox#

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

class ICoreCanvasTextBox {
public:
    explicit ICoreCanvasTextBox(ICoreSubsystemTreeNode* parentTreeNode);
    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_TextBox so collection is self-sufficient.
    void detachFromModel();

    void select();
    void deSelect();

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

    void assignClonedProperties(const ICoreCanvasTextBox* originalArea);

    void setParent(ICoreSubsystemTreeNode* newParent);

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

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

    ICoreCanvasTextBoxView* getTextBoxUI() const;

    std::string getClassID() const;

    bool isSelected() const;

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

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

    ~ICoreCanvasTextBox();

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

ICoreCanvasTextBoxView.h#

src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/TextBox/UI/ICoreCanvasTextBoxView.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.

ICoreCanvasTextBoxView#

ICoreCanvasTextBoxView.h:14 · class · bases public ICoreCanvasObjectsRoot · pImpl · 19 declaration(s)

class ICoreCanvasTextBoxView : public ICoreCanvasObjectsRoot {
public:
    explicit ICoreCanvasTextBoxView(ICoreGraphicsObject* parent = nullptr, ICoreCanvasTextBox* parentTextBox = nullptr);

    void reconstructDescendents() override;

    void assignClonedProperties(ICoreCanvasTextBoxView* originalTextBoxUI);

    void setWidth(double width) override;

    [[nodiscard]] ICorePoint getPosRelativeToCanvasOrigin() const;

    void setText(const std::string& newText) const;
    [[nodiscard]] std::string getText() const;

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

    ~ICoreCanvasTextBoxView() override;

    // ⚠ The DELEGATION SEAM, and it exists because the old arrangement stopped
    // compiling. ICoreCanvasTextBoxViewLabel covers this box and would otherwise
    // swallow its drag, so it forwards the gesture to the box -- it used to do
    // that by calling the box's PUBLIC mousePressEvent() directly. Under the
    // hooks there is nothing public left to call: mousePressed() and the Qt
    // forwarder it replaced are both protected on ICoreGraphicsObject, and the
    // label is a separate class rather than a subclass, so protected access
    // does not reach. These three name the delegation instead of re-publishing
    // an override, which is what the old comment here was doing by accident.
    bool handleChildLabelPressed(const ICoreMouseEvent& event);
    bool handleChildLabelMoved(const ICoreMouseEvent& event);
    bool handleChildLabelReleased(const ICoreMouseEvent& event);

protected:
    bool mousePressed(const ICoreMouseEvent& event) override;
    bool mouseMoved(const ICoreMouseEvent& event) override;
    bool mouseReleased(const ICoreMouseEvent& event) override;

public:

    [[nodiscard]] ICoreCanvasTextBoxViewLabel* getMainLabel() const;

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

ICoreCanvasTextBoxViewLabel.h#

src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/TextBox/UI/ICoreCanvasTextBoxViewLabel.h

Declares no class of its own — see the file.