Workspace::CoreInPin 
#include "GUI/Workspace/Nodes/Basic/CorePins.h"
Inherits from Workspace::CorePin, DIWNE::Pin, DIWNE::DiwneObject, std::enable_shared_from_this< DiwneObject >
Inherited by Workspace::CoreInPinMatrixMultiply
Public Functions 
| Name | |
|---|---|
| CoreInPin(DIWNE::Diwne & diwne, DIWNE::ID const id, Core::Pin const & pin, CoreNode & node) | |
| bool | allowCreateAndPlugConstructorNodeAction() | 
| bool | bypassCreateAndPlugConstructorNodeAction() | 
| bool | bypassUnplugAction() | 
| bool | connectionChanged() const | 
| virtual bool | content() override<br>Draw icon and label, if defined. | 
| virtual bool | drawDiwne(DIWNE::DrawMode drawMode =DIWNE::DrawMode::Interacting) override<br>Draw pin icon + label and register the connected wire. | 
| CoreLink & | getLink() | 
| bool | plug(CoreOutPin * ou, bool logEvent =true) | 
| virtual bool | processCreateAndPlugConstrutorNode() | 
| virtual bool | processInteractions() override | 
| bool | processUnplug() | 
| void | setConnectedWorkspaceOutput(CoreOutPin * ou) | 
| void | unplug(bool logEvent =true) | 
| virtual void | updateConnectionPointDiwne() override | 
Protected Attributes 
| Name | |
|---|---|
| bool | m_connectionChanged <br>Flag indicating that the pin has been plugged or unplugged this frame Note: This flag gets reset the moment the pin is drawn, which is kinda dumb, don't rely on this too much, it is currently used for a rather specific purpose. | 
| CoreLink | m_link | 
Additional inherited members 
Public Functions inherited from Workspace::CorePin
| Name | |
|---|---|
| CorePin(DIWNE::Diwne & diwne, DIWNE::ID const id, Core::Pin const & pin, CoreNode & node) | |
| virtual bool | bypassFocusForInteractionAction() override | 
| Core::Pin const & | getCorePin() const | 
| int | getIndex() const | 
| PinKind | getKind() const | 
| CoreNode & | getNode() | 
| const CoreNode & | getNode() const | 
| Core::EValueType | getType() const | 
| bool | isConnected() const | 
| virtual void | popupContent() override<br>Content of popup menu raise on this object. | 
| virtual bool | processConnectionPrepared() override | 
| virtual bool | processDrag() override | 
Public Attributes inherited from Workspace::CorePin
| Name | |
|---|---|
| DIWNE::IconType | m_iconType | 
Protected Attributes inherited from Workspace::CorePin
| Name | |
|---|---|
| ImRect | m_iconRectDiwne | 
| CoreNode & | m_node | 
| Core::Pin const & | m_pin | 
Public Functions inherited from DIWNE::Pin
| Name | |
|---|---|
| Pin(DIWNE::Diwne & diwne, DIWNE::ID id, std::string const labelDiwne ="DiwnePin")<br>Default constructor. | |
| virtual | ~Pin()<br>Default destructor. | 
| virtual bool | allowProcessPin_Pre_ConnectLink() | 
| virtual void | begin() override | 
| virtual bool | bypassPinLinkConnectionPreparedAction() | 
| virtual void | end() override | 
| virtual DIWNE::DiwneAction | getDragActionType() const | 
| virtual DIWNE::DiwneAction | getHoldActionType() const | 
| DIWNE::ID const | getId() const | 
| virtual const ImVec2 & | getLinkConnectionPointDiwne() | 
| virtual ImRect | getRectDiwne() const override | 
| virtual DIWNE::DiwneAction | getTouchActionType() const | 
| virtual bool | processConnectionPrepared() | 
| virtual bool | processDrag() override | 
| virtual bool | processInteractionsAlways() override | 
| virtual bool | processPin_Pre_ConnectLinkDiwne()<br>Wrapper is run when new link is created and goal pin is hovered but action not released yet. | 
| virtual void | setConnectionPointDiwne(const ImVec2 value) | 
| virtual void | updateSizes() override | 
Protected Attributes inherited from DIWNE::Pin
| Name | |
|---|---|
| ImVec2 | m_connectionPointDiwne | 
| ImRect | m_pinRectDiwne <br>PIN bounding rectangle. | 
Public Functions inherited from DIWNE::DiwneObject
| Name | |
|---|---|
| DiwneObject(DIWNE::Diwne & diwne, DIWNE::ID id, std::string const labelDiwne)<br>Constructor. | |
| virtual | ~DiwneObject() =default | 
| virtual bool | afterContent() | 
| virtual bool | afterContentDiwne() | 
| virtual bool | afterEnd() | 
| virtual bool | afterEndDiwne() | 
| virtual bool | allowDrawing()<br>Decision maker whether object should be drawn (not outside of window for example) | 
| virtual bool | allowInteraction()<br>Decision maker whether object can interact (not include content elements) | 
| virtual bool | allowProcessDrag() | 
| virtual bool | allowProcessFocused() | 
| virtual bool | allowProcessFocusedForInteraction() | 
| virtual bool | allowProcessHold() | 
| virtual bool | allowProcessRaisePopup() | 
| virtual bool | allowProcessSelect() | 
| virtual bool | allowProcessUnhold() | 
| virtual bool | allowProcessUnselect() | 
| virtual bool | beforeBegin() | 
| virtual bool | beforeBeginDiwne() | 
| virtual bool | beforeContent() | 
| virtual bool | beforeContentDiwne() | 
| virtual void | begin() =0 | 
| virtual bool | bypassDragAction() | 
| virtual bool | bypassFocusAction() | 
| virtual bool | bypassFocusForInteractionAction() | 
| virtual bool | bypassHoldAction() | 
| virtual bool | bypassRaisePopupAction() | 
| virtual bool | bypassSelectAction() | 
| virtual bool | bypassTouchAction() | 
| virtual bool | bypassUnholdAction() | 
| virtual bool | bypassUnselectAction() | 
| virtual bool | contentDiwne() | 
| virtual void | end() =0 | 
| virtual bool | finalize() | 
| virtual bool | finalizeDiwne() | 
| virtual DIWNE::DiwneAction | getDragActionType() const =0 | 
| virtual DIWNE::DiwneAction | getHoldActionType() const =0 | 
| DIWNE::ID const | getIdDiwne() const | 
| virtual ImRect | getRectDiwne() const =0 | 
| virtual bool | getSelectable() | 
| virtual bool | getSelected() const<br>Getter of selection state. | 
| virtual DIWNE::DiwneAction | getTouchActionType() const =0 | 
| virtual bool | initialize() | 
| virtual bool | initializeDiwne() | 
| virtual bool | interactionBeginInLastDraw() | 
| virtual bool | interactionEndInLastDraw() | 
| virtual void | popupContent()<br>Content of popup menu raise on this object. | 
| virtual bool | processDrag() | 
| bool | processDragDiwne() | 
| virtual bool | processFocused() | 
| bool | processFocusedDiwne() | 
| virtual bool | processFocusedForInteraction() | 
| bool | processFocusedForInteractionDiwne() | 
| virtual bool | processHold() | 
| bool | processHoldDiwne() | 
| virtual bool | processInteractionsAlways() | 
| virtual bool | processInteractionsDiwne() | 
| virtual bool | processRaisePopupDiwne() | 
| virtual bool | processSelect() | 
| bool | processSelectDiwne() | 
| virtual bool | processShowPopupDiwne() | 
| virtual bool | processUnhold() | 
| bool | processUnholdDiwne() | 
| virtual bool | processUnselect() | 
| bool | processUnselectDiwne() | 
| virtual void | setSelectable(bool const selectable) | 
| virtual bool | setSelected(bool const selected) | 
| void | showTooltipLabel(std::string const & label, ImColor const && color)<br>Show a colored text for example for immediate hints. | 
| virtual void | updateSizes() | 
Public Attributes inherited from DIWNE::DiwneObject
| Name | |
|---|---|
| DIWNE::Diwne & | diwne | 
| DrawMode | m_drawMode | 
| bool | m_focused | 
| bool | m_focusedForInteraction | 
| DIWNE::ID const | m_idDiwne | 
| bool | m_inner_interaction_happen | 
| bool | m_inner_interaction_happen_previous_draw | 
| bool | m_isActive | 
| bool | m_isDragged | 
| bool | m_isHeld | 
| std::string const | m_labelDiwne | 
| std::string const | m_popupIDDiwne | 
| bool | m_selectable | 
| bool | m_selected | 
Public Functions Documentation 
function CoreInPin 
CoreInPin(
    DIWNE::Diwne & diwne,
    DIWNE::ID const id,
    Core::Pin const & pin,
    CoreNode & node
)CoreInPin(
    DIWNE::Diwne & diwne,
    DIWNE::ID const id,
    Core::Pin const & pin,
    CoreNode & node
)function allowCreateAndPlugConstructorNodeAction 
bool allowCreateAndPlugConstructorNodeAction()bool allowCreateAndPlugConstructorNodeAction()function bypassCreateAndPlugConstructorNodeAction 
bool bypassCreateAndPlugConstructorNodeAction()bool bypassCreateAndPlugConstructorNodeAction()function bypassUnplugAction 
bool bypassUnplugAction()bool bypassUnplugAction()function connectionChanged 
bool connectionChanged() constbool connectionChanged() constfunction content 
virtual bool content() overridevirtual bool content() overrideDraw icon and label, if defined.
Return: false - both icon and label do not allow interactions
Reimplements: DIWNE::Pin::content
function drawDiwne 
virtual bool drawDiwne(
    DIWNE::DrawMode drawMode =DIWNE::DrawMode::Interacting
) overridevirtual bool drawDiwne(
    DIWNE::DrawMode drawMode =DIWNE::DrawMode::Interacting
) overrideDraw pin icon + label and register the connected wire.
Return: interaction happened
Reimplements: DIWNE::DiwneObject::drawDiwne
function getLink 
inline CoreLink & getLink()inline CoreLink & getLink()function plug 
bool plug(
    CoreOutPin * ou,
    bool logEvent =true
)bool plug(
    CoreOutPin * ou,
    bool logEvent =true
)function processCreateAndPlugConstrutorNode 
virtual bool processCreateAndPlugConstrutorNode()virtual bool processCreateAndPlugConstrutorNode()function processInteractions 
virtual bool processInteractions() overridevirtual bool processInteractions() overrideReimplements: DIWNE::DiwneObject::processInteractions
react to interactions with this object
function processUnplug 
bool processUnplug()bool processUnplug()function setConnectedWorkspaceOutput 
void setConnectedWorkspaceOutput(
    CoreOutPin * ou
)void setConnectedWorkspaceOutput(
    CoreOutPin * ou
)function unplug 
void unplug(
    bool logEvent =true
)void unplug(
    bool logEvent =true
)Precondition: Needs to be plugged
function updateConnectionPointDiwne 
inline virtual void updateConnectionPointDiwne() overrideinline virtual void updateConnectionPointDiwne() overrideReimplements: DIWNE::Pin::updateConnectionPointDiwne
intended to use when Pin is drawn (use properties dependent on drawing)
- setConnectionPointDiwne is "hard" setting
Protected Attributes Documentation 
variable m_connectionChanged 
bool m_connectionChanged;bool m_connectionChanged;Flag indicating that the pin has been plugged or unplugged this frame Note: This flag gets reset the moment the pin is drawn, which is kinda dumb, don't rely on this too much, it is currently used for a rather specific purpose.
variable m_link 
CoreLink m_link;CoreLink m_link;Updated on 2025-09-07 at 16:13:50 +0000