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.
| Header | Defines | Declarations | Bases |
|---|---|---|---|
ICoreCanvasTextBox.h | ICoreCanvasTextBox | 27 | — |
ICoreCanvasTextBoxView.h | ICoreCanvasTextBoxView | 19 | public ICoreCanvasObjectsRoot |
ICoreCanvasTextBoxViewLabel.h | — | 0 | — |
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.