API — ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block
The public contract of 35 header(s) under src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block — 31 class/struct definition(s), 363 declaration(s). Each section shows the header's banner and its public (and protected-virtual) surface exactly as the file writes it.
ICoreBlockConfigView.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ICoreBlockConfigView.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.
ICoreBlockConfigView#
ICoreBlockConfigView.h:18 · class · bases public ICoreCanvasObjectsRoot · pImpl · 29 declaration(s)
class ICoreBlockConfigView : public ICoreCanvasObjectsRoot {
public:
explicit ICoreBlockConfigView(ICoreCanvas* parent, ICoreBlockConfigurator* parentBlockConfigurator);
void animateConfigPaneShow();
void animateDescriptionPaneShow() const;
void animateDescriptionPaneHide() const;
[[nodiscard]] bool isDescriptionPaneShown() const;
void hide();
void ensureAttachedToParentBlock();
void setWidth(double width) override;
void setHeight(double height) override;
// Both re-anchor the two port tool bars, which hang off the CANVAS beside
// this view rather than off this view -- see kToolBarZ in
// ICoreBlockConfigViewPortToolBar.cpp. setPos() keeps them tracking the
// scrim; reconstructDescendents() takes them back as children so the
// garbage collector detaches them along with this view.
void setPos(double newPosX, double newPosY) override;
void reconstructDescendents() override;
ICoreBlockConfigView_ConfigDialog* getConfigDialog() const;
ICoreBlockConfigView_DescriptionDialog* getDescriptionDialog() const;
[[nodiscard]] bool isShown() const;
ICoreBlockConfigViewAddInputPortButton *getAddInputPortButton() const;
ICoreBlockConfigViewAddOutputPortButton *getAddOutputPortButton() const;
ICoreBlockConfigViewDeleteInputPortButton *getDeleteInputPortButton() const;
ICoreBlockConfigViewDeleteOutputPortButton *getDeleteOutputPortButton() const;
[[nodiscard]] double getPadding() const;
void resetToInitialState(ICoreCanvas* parent, ICoreBlockConfigurator* parentBlockConfigurator);
void kill();
void setAlive();
bool isAlive() const;
// The two halves of the configuration overlay, from block.config* — see the
// note on those tokens for why the state takes two treatments rather than
// one wash. The scrim is what the backdrop over the block wears; the pane
// is what the parameter and description dialogs wear.
static void applyConfigScrimTo(ICoreCanvasObjectsRoot* target);
static void applyConfigPaneTo(ICoreCanvasObjectsRoot* target);
// The raised plate a tool bar in this UI stands on. Three bars wear it now —
// the config dialog's, and the two port bars beside the block — so it is
// painted from one place rather than from three copies of the same gradient
// and the same two alphas.
static void paintToolBarPlate(ICorePainter& painter, const ICoreRect& bounds);
ICoreBlockConfigViewPortToolBar* getInputPortToolBar() const;
ICoreBlockConfigViewPortToolBar* getOutputPortToolBar() const;
~ICoreBlockConfigView() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockCodeEditorWindow.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/CodeEditorWindow/ICoreBlockCodeEditorWindow.h
ICoreBlockCodeEditorWindow#
ICoreBlockCodeEditorWindow.h:18 · class · bases public ICoreWidget · pImpl · 2 declaration(s)
Top-level editor window for a block's designated source-code config variable (ICoreBlockConfigurator::getCodeEditorVariableName), opened from the config dialog's "Edit Code" toolbar button.
class ICoreBlockCodeEditorWindow : public ICoreWidget {
public:
explicit ICoreBlockCodeEditorWindow(ICoreBlockConfigurator* blockConfigurator);
~ICoreBlockCodeEditorWindow() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigView_ConfigDialog.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ICoreBlockConfigView_ConfigDialog.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.
ICoreBlockConfigView_ConfigDialog#
ICoreBlockConfigView_ConfigDialog.h:15 · class · bases public ICoreCanvasObjectsRoot · pImpl · 15 declaration(s)
class ICoreBlockConfigView_ConfigDialog : public ICoreCanvasObjectsRoot {
public:
explicit ICoreBlockConfigView_ConfigDialog(ICoreCanvas* parentCanvas, ICoreBlockConfigurator* parentBlockConfigurator,
ICoreBlockConfigView* grandParentConfigUI);
void animateShow(const ICoreRect &blockBounds, double padding);
void animateToDelete();
void reconstructDescendents() override;
void triggerScroll(double scrollDelta) const;
void setWidth(double newWidth) override;
void setHeight(double newHeight) override;
ICoreBlockConfigDialogContentPane *getContentPane() const;
ICoreBlockConfigDialogTitleBar* getTitleBar() const;
ICoreCanvas* getCanvas() const;
ICoreBlockConfigurator* getBlockConfigurator() const;
void resetToInitialState(ICoreCanvas* parentCanvas, ICoreBlockConfigurator* parentBlockConfigurator, ICoreBlockConfigView* grandParentConfigUI);
void kill();
void setAlive();
bool isAlive() const;
~ICoreBlockConfigView_ConfigDialog() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogContentPane.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ContentPane/ICoreBlockConfigDialogContentPane.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.
ICoreBlockConfigDialogContentPane#
ICoreBlockConfigDialogContentPane.h:14 · class · bases public ICoreGraphicsObject · pImpl · 13 declaration(s)
class ICoreBlockConfigDialogContentPane : public ICoreGraphicsObject {
public:
explicit ICoreBlockConfigDialogContentPane(ICoreBlockConfigView_ConfigDialog* parentDialog, ICoreBlockConfigurator* grandParentBlockConfigurator);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void populateWithConfigVariables();
// Push every config variable's current value back into its entry (values only;
// no rebuild). For changes made outside the dialog while it is visible.
void refreshEntryValuesFromConfigVariables() const;
void updateEntriesPositions() const;
void clearAllEntries();
void setWidth(double newWidth) const;
// void setHeight(double newHeight) const;
void setHeight(double newHeight);
ICoreBlockConfigView_ConfigDialog* getParentDialog() const;
void printEntries() const;
void resetToInitialState(ICoreBlockConfigView_ConfigDialog* parentDialog, ICoreBlockConfigurator* grandParentBlockConfigurator);
~ICoreBlockConfigDialogContentPane() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogContentPaneEntry.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ContentPane/ICoreBlockConfigDialogContentPaneEntry.h
contentBounds(), not boundingRect(): after ICoreGraphicsItem's conversion the QGraphicsItem is its Impl, which does not derive from this class, so a boundingRect() override here would never be called by anything.
ICoreBlockConfigDialogContentPaneEntry#
ICoreBlockConfigDialogContentPaneEntry.h:13 · class · bases public ICoreGraphicsItem · pImpl · 17 declaration(s)
class ICoreBlockConfigDialogContentPaneEntry : public ICoreGraphicsItem {
public:
explicit ICoreBlockConfigDialogContentPaneEntry(ICoreBlockConfigDialogContentPane* parentDialogContentPane,
ICoreBlockConfigVariable* variable);
// contentBounds(), not boundingRect(): after ICoreGraphicsItem's conversion
// the QGraphicsItem is its Impl, which does not derive from this class, so
// a boundingRect() override here would never be called by anything.
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void updateBlockConfigWithUserEntry() const;
// Inverse of updateBlockConfigWithUserEntry: push the config variable's current
// value back into the value box (used when the variable is changed from outside
// the dialog, e.g. by a recipe command, while the dialog is visible).
void refreshValueFromConfigVariable() const;
ICoreGraphicsBoxedText* getNameTextBox() const;
ICoreGraphicsBoxedText* getValueTextBox() const;
double getWidth() const;
double getHeight() const;
void setWidth(double newWidth) override;
std::string castOptionsToString();
ICoreBlockConfigDialogContentPane* getParentDialogContentPane() const;
ICoreBlockConfigVariable* getAssociatedConfigVariable() const;
void resetToInitialState(ICoreBlockConfigDialogContentPane* parentDialogContentPane, ICoreBlockConfigVariable* variable);
void kill();
void setAlive();
bool isAlive() const;
~ICoreBlockConfigDialogContentPaneEntry() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogContentPaneEntryComboBox.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ContentPane/ICoreBlockConfigDialogContentPaneEntryComboBox.h
ICoreBlockConfigDialogContentPaneEntryComboBox#
ICoreBlockConfigDialogContentPaneEntryComboBox.h:8 · class · bases public ICoreGraphicsComboBox · pImpl · 6 declaration(s)
class ICoreBlockConfigDialogContentPaneEntryComboBox : public ICoreGraphicsComboBox {
public:
explicit ICoreBlockConfigDialogContentPaneEntryComboBox(ICoreBlockConfigDialogContentPaneEntry* parentEntry);
void setChosenOption(const std::string& newChosenOption) override;
void animateComboDialogHide() override;
void animateComboDialogShow() override;
void resetToInitialState_BlockConfigDialogContentPaneEntryComboBox(ICoreBlockConfigDialogContentPaneEntry* parentEntry);
~ICoreBlockConfigDialogContentPaneEntryComboBox() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogContentPaneEntryTextBox.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ContentPane/ICoreBlockConfigDialogContentPaneEntryTextBox.h
ICoreBlockConfigDialogContentPaneEntryTextBox#
ICoreBlockConfigDialogContentPaneEntryTextBox.h:9 · class · bases public ICoreGraphicsBoxedText · pImpl · 2 declaration(s)
class ICoreBlockConfigDialogContentPaneEntryTextBox : public ICoreGraphicsBoxedText {
public:
explicit ICoreBlockConfigDialogContentPaneEntryTextBox(
ICoreBlockConfigDialogContentPaneEntry* parentEntry);
void resetToInitialState_BlockConfigDialogContentPaneEntryTextBox(
ICoreBlockConfigDialogContentPaneEntry* parentEntry);
~ICoreBlockConfigDialogContentPaneEntryTextBox() override;
protected:
void focusLosing(const ICoreFocusEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogTitleBar.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/TitleBar/ICoreBlockConfigDialogTitleBar.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.
ICoreBlockConfigDialogTitleBar#
ICoreBlockConfigDialogTitleBar.h:16 · class · bases public ICoreGraphicsObject · pImpl · 10 declaration(s)
class ICoreBlockConfigDialogTitleBar : public ICoreGraphicsObject {
public:
explicit ICoreBlockConfigDialogTitleBar(ICoreBlockConfigView_ConfigDialog* parentDialog,
ICoreBlockConfigurator* grandParentConfigurator, ICoreBlockConfigView* grandParentConfigUI);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void reconstructDescendents();
void setWidth(double width) override; // Height is always fixed
double getWidth() const;
double getHeight() const;
ICoreRect getBoundsInCanvas() const;
ICoreBlockConfigDialogTitleBarShowDescButton* getInfoButton() const;
void resetToInitialState(ICoreBlockConfigView_ConfigDialog* parentDialog,
ICoreBlockConfigurator* grandParentConfigurator, ICoreBlockConfigView* grandParentConfigUI);
~ICoreBlockConfigDialogTitleBar() override;
protected:
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
// void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
// void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
// void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogTitleBarLabel.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/TitleBar/ICoreBlockConfigDialogTitleBarLabel.h
Declares no class of its own — see the file.
ICoreBlockConfigDialogTitleBarShowDescButton.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/TitleBar/ICoreBlockConfigDialogTitleBarShowDescButton.h
ICoreBlockConfigDialogTitleBarShowDescButton#
ICoreBlockConfigDialogTitleBarShowDescButton.h:9 · class · bases public ICoreGraphicsButton · pImpl · 4 declaration(s)
class ICoreBlockConfigDialogTitleBarShowDescButton : public ICoreGraphicsButton {
public:
explicit ICoreBlockConfigDialogTitleBarShowDescButton(
ICoreBlockConfigDialogTitleBar* parentTitleBar, ICoreBlockConfigView* blockConfigUI);
void updatePosition();
void resetToInitialState(ICoreBlockConfigDialogTitleBar* parentTitleBar, ICoreBlockConfigView* blockConfigUI);
~ICoreBlockConfigDialogTitleBarShowDescButton() override;
protected:
bool mousePressed(const ICoreMouseEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogToolBar.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ToolBar/ICoreBlockConfigDialogToolBar.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.
ICoreBlockConfigDialogToolBar#
ICoreBlockConfigDialogToolBar.h:22 · class · bases public ICoreGraphicsObject · pImpl · 12 declaration(s)
class ICoreBlockConfigDialogToolBar : public ICoreGraphicsObject {
public:
explicit ICoreBlockConfigDialogToolBar(ICoreBlockConfigView_ConfigDialog* parentBlockConfigDialog = nullptr);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void reconstructDescendents();
void setWidth(double width) override;
void setHeight(double height);
std::vector<ICoreBlockConfigDialogToolBarButton*> getChildrenButtons();
double getPadding() const;
void resetToInitialState(ICoreBlockConfigView_ConfigDialog* parentBlockConfigDialog = nullptr);
~ICoreBlockConfigDialogToolBar() override;
protected:
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogToolBarButton.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ToolBar/ICoreBlockConfigDialogToolBarButton.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.
ICoreBlockConfigDialogToolBarButton#
ICoreBlockConfigDialogToolBarButton.h:13 · class · bases public ICoreGraphicsObject · pImpl · 16 declaration(s)
class ICoreBlockConfigDialogToolBarButton : public ICoreGraphicsObject {
public:
explicit ICoreBlockConfigDialogToolBarButton(ICoreBlockConfigDialogToolBar *parentToolBar = nullptr, ICoreBlockConfigView_ConfigDialog* grandParentConfigDialog = nullptr);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void configureInfoLabel(ICoreGraphicsInfoLabel* infoLabel, const ICoreString &title,
const ICoreString &technique, double delayDuration);
void animateShow();
void animateHide() const;
void setWidth(double width) override;
void setHeight(double height);
void setIcon(const ICoreIcon& icon);
void setHoldHoverStyle(bool newHoldHoverStyle);
double getHeight() const;
void resetToInitialState_ConfigDialogToolBarButton(ICoreBlockConfigDialogToolBar *parentToolBar = nullptr, ICoreBlockConfigView_ConfigDialog* grandParentConfigDialog = nullptr);
~ICoreBlockConfigDialogToolBarButton() override;
protected:
// virtual method can be overridden in derived button classes
virtual void onClicked();
bool mousePressed(const ICoreMouseEvent& event) override;
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogToolBarButton_EditCode.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ToolBar/ICoreBlockConfigDialogToolBarButton_EditCode.h
ICoreBlockConfigDialogToolBarButton_EditCode#
ICoreBlockConfigDialogToolBarButton_EditCode.h:11 · class · bases public ICoreBlockConfigDialogToolBarButton · pImpl · 2 declaration(s)
Opens an ICoreBlockCodeEditorWindow for the block's designated source-code config variable.
class ICoreBlockConfigDialogToolBarButton_EditCode : public ICoreBlockConfigDialogToolBarButton {
public:
explicit ICoreBlockConfigDialogToolBarButton_EditCode(ICoreBlockConfigDialogToolBar* parentToolBar = nullptr,
ICoreBlockConfigView_ConfigDialog* grandParentBlockConfigDialog = nullptr, ICoreGraphicsInfoLabel* infoLabel = nullptr);
void resetToInitialState(ICoreBlockConfigDialogToolBar* parentToolBar = nullptr,
ICoreBlockConfigView_ConfigDialog* grandParentBlockConfigDialog = nullptr, ICoreGraphicsInfoLabel* infoLabel = nullptr);
~ICoreBlockConfigDialogToolBarButton_EditCode() override;
protected:
void onClicked() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogToolBarButton_Pin.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ToolBar/ICoreBlockConfigDialogToolBarButton_Pin.h
ICoreBlockConfigDialogToolBarButton_Pin#
ICoreBlockConfigDialogToolBarButton_Pin.h:8 · class · bases public ICoreBlockConfigDialogToolBarButton · pImpl · 2 declaration(s)
class ICoreBlockConfigDialogToolBarButton_Pin : public ICoreBlockConfigDialogToolBarButton {
public:
explicit ICoreBlockConfigDialogToolBarButton_Pin(ICoreBlockConfigDialogToolBar* parentToolBar = nullptr,
ICoreBlockConfigView_ConfigDialog* grandParentBlockConfigDialog = nullptr, ICoreGraphicsInfoLabel* infoLabel = nullptr);
void resetToInitialState(ICoreBlockConfigDialogToolBar* parentToolBar = nullptr,
ICoreBlockConfigView_ConfigDialog* grandParentBlockConfigDialog = nullptr, ICoreGraphicsInfoLabel* infoLabel = nullptr);
~ICoreBlockConfigDialogToolBarButton_Pin() override;
protected:
void onClicked() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigDialogToolBarButton_ShowHideName.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/ConfigDialog/ToolBar/ICoreBlockConfigDialogToolBarButton_ShowHideName.h
ICoreBlockConfigDialogToolBarButton_ShowHideName#
ICoreBlockConfigDialogToolBarButton_ShowHideName.h:9 · class · bases public ICoreBlockConfigDialogToolBarButton · pImpl · 2 declaration(s)
class ICoreBlockConfigDialogToolBarButton_ShowHideName : public ICoreBlockConfigDialogToolBarButton {
public:
explicit ICoreBlockConfigDialogToolBarButton_ShowHideName(ICoreBlockConfigDialogToolBar* parentToolBar = nullptr,
ICoreBlockConfigView_ConfigDialog* grandParentBlockConfigDialog = nullptr, ICoreGraphicsInfoLabel* infoLabel = nullptr);
void resetToInitialState(ICoreBlockConfigDialogToolBar* parentToolBar = nullptr,
ICoreBlockConfigView_ConfigDialog* grandParentBlockConfigDialog = nullptr, ICoreGraphicsInfoLabel* infoLabel = nullptr);
~ICoreBlockConfigDialogToolBarButton_ShowHideName() override;
protected:
void onClicked() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigView_DescriptionDialog.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/DescriptionDialog/ICoreBlockConfigView_DescriptionDialog.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.
ICoreBlockConfigView_DescriptionDialog#
ICoreBlockConfigView_DescriptionDialog.h:15 · class · bases public ICoreCanvasObjectsRoot · pImpl · 14 declaration(s)
class ICoreBlockConfigView_DescriptionDialog : public ICoreCanvasObjectsRoot {
public:
explicit ICoreBlockConfigView_DescriptionDialog(ICoreCanvas* parentCanvas, ICoreBlockConfigurator* parentBlockConfigurator);
void animateShow(const ICoreRect& configDialogBounds);
void animateHide();
// Whether the panel is currently open. Tracked here rather than read off
// isVisible() so it stays the dialog's own answer, and so the Info button can
// toggle against it.
[[nodiscard]] bool isShown() const;
void reconstructDescendents() override;
void triggerScroll(double scrollDelta) const;
void setWidth(double newWidth) override;
void setHeight(double newHeight) override;
ICoreCanvas* getCanvas() const;
void resetToInitialState(ICoreCanvas* parentCanvas, ICoreBlockConfigurator* parentBlockConfigurator);
void kill();
void setAlive();
bool isAlive() const;
~ICoreBlockConfigView_DescriptionDialog() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreDescriptionDialogContentPanel.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/DescriptionDialog/ICoreDescriptionDialogContentPanel.h
contentBounds(), not boundingRect(): after ICoreGraphicsItem's conversion the QGraphicsItem is its Impl, which does not derive from this class, so a boundingRect() override here would never be called by anything.
ICoreDescriptionDialogContentPanel#
ICoreDescriptionDialogContentPanel.h:14 · class · bases public ICoreGraphicsItem · pImpl · 6 declaration(s)
class ICoreDescriptionDialogContentPanel : public ICoreGraphicsItem {
public:
explicit ICoreDescriptionDialogContentPanel(ICoreBlockConfigView_DescriptionDialog* parentDialog,
ICoreBlockConfigurator* parentBlockConfigurator, const std::string& descText);
// contentBounds(), not boundingRect(): after ICoreGraphicsItem's conversion
// the QGraphicsItem is its Impl, which does not derive from this class, so
// a boundingRect() override here would never be called by anything.
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void reconstructDescendents();
void autoUpdateHeight();
void setWidth(double newWidth) override;
void resetToInitialState(ICoreBlockConfigView_DescriptionDialog* parentDialog,
ICoreBlockConfigurator* parentBlockConfigurator, const std::string& descText);
~ICoreDescriptionDialogContentPanel() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreDescriptionDialogTitleBar.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/DescriptionDialog/TitleBar/ICoreDescriptionDialogTitleBar.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.
ICoreDescriptionDialogTitleBar#
ICoreDescriptionDialogTitleBar.h:15 · class · bases public ICoreGraphicsObject · pImpl · 11 declaration(s)
class ICoreDescriptionDialogTitleBar : public ICoreGraphicsObject {
public:
explicit ICoreDescriptionDialogTitleBar(ICoreBlockConfigView_DescriptionDialog* parentDialog, ICoreBlockConfigurator* grandParentConfigurator);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void reconstructDescendents();
void setWidth(double width) override; // Height is always fixed
double getWidth() const;
double getHeight() const;
ICoreRect getBoundsInCanvas() const;
void resetToInitialState(ICoreBlockConfigView_DescriptionDialog* parentDialog, ICoreBlockConfigurator* grandParentConfigurator);
~ICoreDescriptionDialogTitleBar() override;
protected:
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
// void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
// void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
// void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreDescriptionDialogTitleBarLabel.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/DescriptionDialog/TitleBar/ICoreDescriptionDialogTitleBarLabel.h
Declares no class of its own — see the file.
ICoreBlockConfigViewAddInputPortButton.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/RootUIFloatingButtons/ICoreBlockConfigViewAddInputPortButton.h
ICoreBlockConfigViewAddInputPortButton#
ICoreBlockConfigViewAddInputPortButton.h:14 · class · bases public ICoreGraphicsButton · pImpl · 10 declaration(s)
class ICoreBlockConfigViewAddInputPortButton : public ICoreGraphicsButton {
public:
explicit ICoreBlockConfigViewAddInputPortButton(ICoreBlockConfigView* graphicsParent, ICoreBlockConfigurator* parentBlockConfigurator);
// The tool bar hands over its shared hover label and the side it opens on.
void setInfoLabel(ICoreGraphicsInfoLabel* infoLabel, const ICoreString& technique);
void resetToInitialState(ICoreBlockConfigView* graphicsParent, ICoreBlockConfigurator* parentBlockConfigurator);
void kill();
void setAlive();
bool isAlive() const;
~ICoreBlockConfigViewAddInputPortButton() override;
protected:
bool mousePressed(const ICoreMouseEvent& event) override;
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigViewAddOutputPortButton.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/RootUIFloatingButtons/ICoreBlockConfigViewAddOutputPortButton.h
ICoreBlockConfigViewAddOutputPortButton#
ICoreBlockConfigViewAddOutputPortButton.h:14 · class · bases public ICoreGraphicsButton · pImpl · 10 declaration(s)
class ICoreBlockConfigViewAddOutputPortButton : public ICoreGraphicsButton {
public:
explicit ICoreBlockConfigViewAddOutputPortButton(ICoreBlockConfigView* graphicsParent, ICoreBlockConfigurator* parentBlockConfigurator);
// The tool bar hands over its shared hover label and the side it opens on.
void setInfoLabel(ICoreGraphicsInfoLabel* infoLabel, const ICoreString& technique);
void resetToInitialState(ICoreBlockConfigView* graphicsParent, ICoreBlockConfigurator* parentBlockConfigurator);
void kill();
void setAlive();
bool isAlive() const;
~ICoreBlockConfigViewAddOutputPortButton() override;
protected:
bool mousePressed(const ICoreMouseEvent& event) override;
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigViewDeleteInputPortButton.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/RootUIFloatingButtons/ICoreBlockConfigViewDeleteInputPortButton.h
ICoreBlockConfigViewDeleteInputPortButton#
ICoreBlockConfigViewDeleteInputPortButton.h:14 · class · bases public ICoreGraphicsButton · pImpl · 10 declaration(s)
class ICoreBlockConfigViewDeleteInputPortButton : public ICoreGraphicsButton {
public:
explicit ICoreBlockConfigViewDeleteInputPortButton(ICoreBlockConfigView* graphicsParent, ICoreBlockConfigurator* parentBlockConfigurator);
// The tool bar hands over its shared hover label and the side it opens on.
void setInfoLabel(ICoreGraphicsInfoLabel* infoLabel, const ICoreString& technique);
void resetToInitialState(ICoreBlockConfigView* graphicsParent, ICoreBlockConfigurator* parentBlockConfigurator);
void kill();
void setAlive();
bool isAlive() const;
~ICoreBlockConfigViewDeleteInputPortButton() override;
protected:
bool mousePressed(const ICoreMouseEvent& event) override;
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigViewDeleteOutputPortButton.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/RootUIFloatingButtons/ICoreBlockConfigViewDeleteOutputPortButton.h
ICoreBlockConfigViewDeleteOutputPortButton#
ICoreBlockConfigViewDeleteOutputPortButton.h:14 · class · bases public ICoreGraphicsButton · pImpl · 10 declaration(s)
class ICoreBlockConfigViewDeleteOutputPortButton : public ICoreGraphicsButton {
public:
explicit ICoreBlockConfigViewDeleteOutputPortButton(ICoreBlockConfigView* graphicsParent, ICoreBlockConfigurator* parentBlockConfigurator);
// The tool bar hands over its shared hover label and the side it opens on.
void setInfoLabel(ICoreGraphicsInfoLabel* infoLabel, const ICoreString& technique);
void resetToInitialState(ICoreBlockConfigView* graphicsParent, ICoreBlockConfigurator* parentBlockConfigurator);
void kill();
void setAlive();
bool isAlive() const;
~ICoreBlockConfigViewDeleteOutputPortButton() override;
protected:
bool mousePressed(const ICoreMouseEvent& event) override;
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockConfigViewPortToolBar.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockConfigUI/RootUIFloatingButtons/ICoreBlockConfigViewPortToolBar.h
ICoreBlockConfigViewPortToolBar#
ICoreBlockConfigViewPortToolBar.h:25 · class · bases public ICoreGraphicsObject · pImpl · 12 declaration(s)
The plate the two port buttons stand on, one per side of the block being configured.
class ICoreBlockConfigViewPortToolBar : public ICoreGraphicsObject {
public:
// Which side of the block the bar hangs off. It decides the horizontal
// anchor and nothing else — both sides stack their pair identically.
enum class Side { Input, Output };
explicit ICoreBlockConfigViewPortToolBar(ICoreBlockConfigView* graphicsParent, Side side);
// The dialog tool bar's button treatment, applied to a port button: icon
// only, no fill, no caption, and the nav-item wash on hover — what
// ICoreBlockConfigDialogToolBarButton paints for Pin, Show-Hide Name and
// Edit Code. Static, and here rather than in each button, because the four
// port buttons are four unrelated classes that must not drift apart.
static void applyButtonTheme(ICoreGraphicsButton* button, const ICoreString& iconPath);
// The bar's shared hover label — the wording the buttons used to carry as a
// caption. It is a CHILD OF THE BAR on purpose: showInfoLabel() positions
// itself in the shared parent's coordinates, so a label parented anywhere
// else lands in the wrong place.
ICoreGraphicsInfoLabel* getInfoLabel() const;
// Which side of the button the hover label opens on — "leftMiddle" for the
// input bar, which hangs off the block's left, and the default right-hand
// placement for the output bar. Callers pass it straight to showInfoLabel().
ICoreString getInfoLabelTechnique() const;
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
// Adopts the pair, sizes the plate around it and lays it out. Either
// argument may be nullptr, which empties and hides the bar.
void setButtons(ICoreGraphicsButton* addButton, ICoreGraphicsButton* deleteButton);
// Re-anchors the plate against the scrim's current size. The scrim calls
// this from its setWidth()/setHeight(), which is where the four buttons
// used to be re-placed one at a time.
void updatePosition();
void setWidth(double width) override;
void setHeight(double height);
void resetToInitialState(ICoreBlockConfigView* graphicsParent);
~ICoreBlockConfigViewPortToolBar() override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockView.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockUI/ICoreBlockView.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.
ICoreBlockView#
ICoreBlockView.h:21 · class · final · bases public ICoreCanvasObjectsRoot · pImpl · 39 declaration(s)
class ICoreBlockView final : public ICoreCanvasObjectsRoot {
public:
// enum { Type = QGraphicsItem::UserType + 1 };
// int type() const override { return Type; }
explicit ICoreBlockView(ICoreGraphicsObject *parent = nullptr, ICoreBlock* parentBlock = nullptr);
void prepareGeometryChange_public();
void updateAllChildrenPositions() override;
[[nodiscard]] std::optional<ICorePoint> getPositionInScreen() const;
void reconstructDescendents() override;
void updateAllMouseListenersValues() override;
void updateAllPortsBoundsInCanvas() const;
void setPos(double newPosX, double newPosY) override;
void setWidth(double width) override;
void setHeight(double height) override;
void setRotation(double angle);
void setAllowUserEditingPortDescLabels(bool newValue);
void setCommentedOutStyle(bool commentedOut);
// Re-reads the parent block's name property and the global name-label mode, and
// shows or hides the label accordingly. Not a setter: under an AlwaysShow /
// AlwaysHide override the block's own property does not get the last word.
void refreshNameLabelVisibility() const;
// The live readout centred on the block's face. Empty text hides it.
//
// GUI THREAD ONLY -- the values come off the solver thread and the hop is
// ICoreBlock::setFaceText()'s, which is also what a block should call.
void setFaceText(const ICoreString& text) const;
// Whether this block carries a readout plate at all. Off by default, so
// only a block type that says so wears one.
void setFaceReadoutVisible(bool visible) const;
// Whether the block type's registered art is painted on the face. Off for
// a block whose face is taken by its readout -- see the frame's note on why
// this is a paint switch and not an unregistration.
void setFaceIconVisible(bool visible) const;
void updateMinHeightAccordingToNumberOfPorts();
void assignClonedProperties(const ICoreBlockView* originalBlockUI);
void setTriangleFrame();
void setCircleFrame();
[[nodiscard]] bool isMouseOnBlock() const;
[[nodiscard]] ICoreRect getRotatedBounds() const;
[[nodiscard]] ICoreBlockViewFrame* getBlockFrame() const;
[[nodiscard]] ICorePortsPosAligner* getPortsPosAligner() const;
[[nodiscard]] double getRotation() const;
[[nodiscard]] ICorePoint getCenterCoords_Global() const;
[[nodiscard]] ICoreBlock* getParentBlock() const;
[[nodiscard]] ICoreBlockViewNameLabel* getNameLabel() const;
[[nodiscard]] ICoreBlockViewFaceLabel* getFaceLabel() const;
[[nodiscard]] bool getAllowUserEditingPortDescLabels() const;
[[nodiscard]] ICorePoint getPosRelativeToCanvasOrigin() const;
void resetToInitialState(ICoreNativeItem* parent = nullptr, ICoreBlock* parentBlock = nullptr);
void kill();
void setAlive();
bool isAlive() const;
~ICoreBlockView() override;
void pointerLeft() override;
protected:
void pointerEntered(const ICoreMouseEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockViewConfigButton.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockUI/ICoreBlockViewConfigButton.h
ICoreBlockViewConfigButton#
ICoreBlockViewConfigButton.h:9 · class · final · bases public ICoreGraphicsButton · pImpl · 3 declaration(s)
class ICoreBlockViewConfigButton final : public ICoreGraphicsButton {
public:
explicit ICoreBlockViewConfigButton(ICoreBlock* parentBlock);
~ICoreBlockViewConfigButton() override;
protected:
bool mousePressed(const ICoreMouseEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockViewFaceLabel.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockUI/ICoreBlockViewFaceLabel.h
ICoreBlockViewFaceLabel#
ICoreBlockViewFaceLabel.h:28 · class · final · bases public ICoreGraphicsText · pImpl · 9 declaration(s)
The live readout a block paints on its OWN FACE, centred in the frame.
class ICoreBlockViewFaceLabel final : public ICoreGraphicsText {
public:
explicit ICoreBlockViewFaceLabel(ICoreBlockView* parentBlockUI);
// Whether this block has a readout at all. Off by default -- otherwise
// every block on the canvas would wear an empty plate. A block type turns
// it on once, from its solver environment's constructor.
void setReadoutVisible(bool visible);
// The value on the plate. Empty text leaves an EMPTY PLATE showing, not a
// hidden one: a readout with nothing to read still looks like a readout,
// and whether there is a plate at all is setReadoutVisible()'s question.
void setText(const ICoreString& text);
void updatePosition();
void applyDefaultStyle();
// Re-lays the document out and pins the plate to at least its minimum
// width, so a short value is centred rather than shrink-wrapped.
void applyPlateSizing();
void resetToInitialState(ICoreBlockView* parentBlockUI);
~ICoreBlockViewFaceLabel() override;
protected:
// The readout's own ground: a rounded, bordered plate under the digits, in
// the field tokens -- which is what this is, a box holding a value the user
// cannot type into. Drawn here rather than in paintContent because anything
// painted there lands ON TOP of the text (ICoreGraphicsText.h).
void paintBackground(ICorePainter& painter) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockViewFrame.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockUI/ICoreBlockViewFrame.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.
ICoreBlockViewFrame#
ICoreBlockViewFrame.h:18 · class · bases public ICoreGraphicsObject · pImpl · 23 declaration(s)
class ICoreBlockViewFrame : public ICoreGraphicsObject {
public:
explicit ICoreBlockViewFrame(ICoreBlockView* parent = nullptr, ICoreBlock* grandParentBlock = nullptr);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void setWidth(double width) override;
void setHeight(double height);
void setIcon(const ICorePixmap& icon);
// Whether this frame paints the block type's registered art on its face.
//
// ⚠ It suppresses the PAINT, never the registration. The art is still
// there for the library palette, the auto-inserter button and -- the one
// that would bite -- ICoreRecipeInterpreter's block-type validity test,
// which asks getBlockIconSVG() != nullptr. A block whose face is taken by
// a live readout turns this off; it does not unregister its icon.
void setIconVisible(bool visible);
void setCircleShape();
void setTriangleShape();
void setFrameToIconBindingRatio(const double &ratio);
void setBackgroundColor(const int& r, const int& g, const int& b);
void setFillColor(const int& r, const int& g, const int& b);
std::string getFrameShape();
double getWidth() const;
double getHeight() const;
bool isCircle() const;
void resetToInitialState(ICoreBlockView* parent = nullptr, ICoreBlock* grandParentBlock = nullptr);
~ICoreBlockViewFrame() override;
protected:
bool mousePressed(const ICoreMouseEvent& event) override;
bool mouseMoved(const ICoreMouseEvent& event) override;
bool mouseReleased(const ICoreMouseEvent& event) override;
bool mouseDoubleClicked(const ICoreMouseEvent& event) override;
bool contextMenuRequested(const ICoreMouseEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockViewFrameRenderer.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockUI/ICoreBlockViewFrameRenderer.h
ICoreBlockViewFrameRenderer#
ICoreBlockViewFrameRenderer.h:13 · class · final · bases public ICoreWidget · pImpl · 9 declaration(s)
class ICoreBlockViewFrameRenderer final : public ICoreWidget {
public:
explicit ICoreBlockViewFrameRenderer(const std::string& fullBlockType);
void setCircleShape();
void setTriangleShape();
void setFillColor(const ICoreColor& color);
void setBorderColor(const ICoreColor& color);
void setIcon(const ICorePixmap &pixmap);
void setIconBindingRatio(double ratio);
~ICoreBlockViewFrameRenderer() override;
protected:
void paintContent(ICorePainter& painter) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICoreBlockViewNameLabel.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockUI/ICoreBlockViewNameLabel.h
Declares no class of its own — see the file.
ICoreBlockViewRotater.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockUI/ICoreBlockViewRotater.h
No Q_OBJECT since P2.9d-5e: the base is not a QObject, and the by-name anchor fade this macro served died at P2.9d-5d.
ICoreBlockViewRotater#
ICoreBlockViewRotater.h:14 · class · bases public ICoreGraphicsObject · pImpl · 14 declaration(s)
class ICoreBlockViewRotater : public ICoreGraphicsObject {
public:
explicit ICoreBlockViewRotater(ICoreBlockView* parentBlockUI = nullptr);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void updatePosition();
void showAnchor();
void hideAnchor();
void animateAnchor(double startOpacity, double endOpacity, int duration);
void resetToInitialState(ICoreBlockView* parentBlockUI = nullptr);
~ICoreBlockViewRotater() override;
protected:
// Hover events
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
// Mouse events
bool mousePressed(const ICoreMouseEvent& event) override;
bool mouseMoved(const ICoreMouseEvent& event) override;
bool mouseReleased(const ICoreMouseEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICorePortsPosAligner.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/BlockUI/ICorePortsPosAligner.h
ICorePortsPosAligner#
ICorePortsPosAligner.h:9 · class · pImpl · 9 declaration(s)
class ICorePortsPosAligner {
public:
explicit ICorePortsPosAligner(ICoreBlock* parentBlock, ICoreBlockViewFrame* parentBlockFrame);
void updatePortsPosition();
void storePortUI(ICorePortView* portUI, bool isOutputPort, std::string preferredPortFacing);
void updatePortsLabelsRotation() const;
void updateAllLinksOnPortsMove(bool blockTranslating = false) const;
void checkPortOut(ICorePort* portToCheckOut);
void checkAllPortsOut();
void resetToInitialState(ICoreBlock* parentBlock, ICoreBlockViewFrame* parentBlockFrame);
~ICorePortsPosAligner();
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICorePortView.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/PortUI/ICorePortView.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.
ICorePortView#
ICorePortView.h:17 · class · bases public ICoreGraphicsObject · pImpl · 31 declaration(s)
class ICorePortView : public ICoreGraphicsObject {
public:
explicit ICorePortView(ICoreBlockViewFrame* parent = nullptr, ICorePort* parentPort = nullptr, ICoreBlockView* grandParentBlockUI = nullptr);
ICoreRect contentBounds() const override;
void paintContent(ICorePainter& painter) override;
void assignClonedProperties(ICorePortView* originalPortUI) const;
void setRotation(double angle);
void setRelatedBaseCoordinates(ICorePoint newBaseCoordinates);
void setActualFacing(const std::string& actualFacing);
void setConnectedStyle();
void setUnconnectedStyle();
void updateBoundsInCanvas();
std::string getActualFacing();
void recenterTransformOrigin();
bool isOutputPort();
ICorePortViewDescriptionLabel* getDescriptionLabel() const;
ICorePoint getBaseCoordinatesToCanvas();
std::pair<ICorePoint, ICorePoint> getConnectionCoordinates();
ICorePort* getParentPort() const;
ICoreRect getBoundsInCanvas() const;
double getFacingAngle_rad();
double getAwayFromPortDistance() const;
ICorePortViewSignalTypeLabel* getSignalTypeLabel() const;
void resetToInitialState(ICoreBlockViewFrame* parent = nullptr, ICorePort* parentPort = nullptr, ICoreBlockView* grandParentBlockUI = nullptr);
void kill();
void setAlive();
bool isAlive() const;
~ICorePortView() override;
protected:
void pointerEntered(const ICoreMouseEvent& event) override;
void pointerLeft() override;
bool mousePressed(const ICoreMouseEvent& event) override;
bool mouseMoved(const ICoreMouseEvent& event) override;
bool mouseReleased(const ICoreMouseEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICorePortViewDescriptionLabel.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/PortUI/ICorePortViewDescriptionLabel.h
ICorePortViewDescriptionLabel#
ICorePortViewDescriptionLabel.h:10 · class · bases public ICoreGraphicsText · pImpl · 11 declaration(s)
class ICorePortViewDescriptionLabel : public ICoreGraphicsText {
public:
explicit ICorePortViewDescriptionLabel(ICoreBlockViewFrame* graphicsParent, ICorePortView* parentPortUI);
double getWidth() const;
double getHeight() const;
void updateWirelessPortPairedToDescLabel() const;
void resetToInitialState(ICoreBlockViewFrame* graphicsParent, ICorePortView* parentPortUI);
~ICorePortViewDescriptionLabel() override;
protected:
bool mousePressed(const ICoreMouseEvent& event) override;
bool contextMenuRequested(const ICoreMouseEvent& event) override;
bool focusGaining(const ICoreFocusEvent& event) override;
void focusLosing(const ICoreFocusEvent& event) override;
void focusLost(const ICoreFocusEvent& event) override;
private:
class Impl; // the two-line residue; state lives here
std::unique_ptr<Impl> impl;
};
ICorePortViewSignalTypeLabel.h#
src/ICoreSDK/ICoreStudio/StudioObjects/ICoreModelViews/Block/PortUI/ICorePortViewSignalTypeLabel.h
Declares no class of its own — see the file.