Skip to content

Workspace::Sequence::SequenceDropZone

#include "GUI/Workspace/Nodes/Sequence.h"

Inherits from DIWNE::NodeDropZone, DIWNE::DiwneObject, DIWNE::NodeContainer, std::enable_shared_from_this< DiwneObject >, DIWNE::INodeContainer

Public Functions

Name
SequenceDropZone(DIWNE::NodeEditor & diwne, Sequence * sequence)
virtual boolacceptNode(DIWNE::Node * node) override<br>Decides whether the passed node should be allowed to be added to this drop zone.
virtual voidonNodeAdd(DIWNE::Node * node, int index) override<br>Called after a node is inserted into the container.
voidonNodeRemove(std::shared_ptr< DIWNE::Node > node, int index) override

Protected Functions

Name
virtual voiddrawEmptyContent(DIWNE::DrawInfo & context) override<br>Content drawn where there are no nodes in the drop zone.

Public Attributes

Name
Sequence *m_sequence

Additional inherited members

Public Functions inherited from DIWNE::NodeDropZone

Name
NodeDropZone(DIWNE::NodeEditor & diwne, DiwneObject * parent)
virtual voidafterDraw(DrawInfo & context) override<br>Called last during drawing.
virtual boolallowDragStart() const override<br>Determines whether a drag operation can start from this object.
virtual boolallowHover() const override<br>Determines whether the object can be hovered.
virtual voidbegin(DrawInfo & context) override<br>First method to be called during object drawing.
virtual voidcontent(DrawInfo & context) override<br>Called after begin() during drawing.
virtual voidend(DrawInfo & context) override<br>Called after content().
virtual voidinitialize(DrawInfo & context) override<br>First method to be called every frame.
virtual voidonDestroy(bool logEvent) override<br>Gets called the moment the object is marked for deletion by destroy().
virtual voidprocessInteractions(DrawInfo & context) override<br>Method for reacting to user input after the object is fully drawn and its dimensions are known.
virtual voidupdateLayout(DrawInfo & context) override<br>Updates object's m_rect, m_displayRect and any other object size variables.

Protected Functions inherited from DIWNE::NodeDropZone

Name
virtual intacceptNodeDiwne(Node * node)<br>Decide whether the node should be placed in the drop zone if at all.
virtual voiddrawDropIndicator(Node * newNode, int index)<br>Draws the drop indicator for the passed node about to be dropped at specified index.
virtual intisNodeAboveDropZone(Node * newNode)<br>Returns at which index a the new node should be added, -1 for invalid position.
booltryAddNode(DrawInfo & context)
booltryRemoveNode(DrawInfo & context)

Protected Attributes inherited from DIWNE::NodeDropZone

Name
intm_dropIndex <br>Insertion index of a dragged node that might get dropped in (invalid if negative)

Public Functions inherited from DIWNE::DiwneObject

Name
DiwneObject(DIWNE::NodeEditor & diwne, std::string labelDiwne)
virtual~DiwneObject()
virtual voidafterDraw(DrawInfo & context)<br>Called last during drawing.
virtual boolallowDragStart() const<br>Determines whether a drag operation can start from this object.
virtual boolallowDrawing()<br>Decide whether the object should be drawn (when outside the window for example)
virtual boolallowHover() const<br>Determines whether the object can be hovered.
virtual boolallowInteraction() const<br>Decide whether the object should react to user input in general.
virtual boolallowPopup() const<br>Determines whether a popup can be raised over the object.
virtual boolallowPress(const DrawInfo & context) const<br>Determines whether the object can be pressed.
virtual boolallowSelectOnClick(const DrawInfo & context) const<br>Determines whether the object can be selected by clicking it (eg.
template <typename T =DiwneObject&gt; <br>T *as()<br>Returns a raw pointer to itself casted to a type.
virtual voidbegin(DrawInfo & context) =0<br>First method to be called during object drawing.
virtual voidcontent(DrawInfo & context) =0<br>Called after begin() during drawing.
virtual voiddestroy(bool logEvent =true)<br>Marks the object for lazy destruction/deallocation and removal from any containers (like the node editor).
virtual voiddraw(DrawMode drawMode =DrawMode_Interactive)<br>Generic draw method meant to be used by external code.
virtual voiddrawDiwne(DrawInfo & context, DrawMode drawMode =DrawMode_Interactive)<br>Internal draw method.
DrawInfodrawDiwneEx(DrawInfo & context, DrawMode drawMode =DrawMode_Interactive)
virtual voidend(DrawInfo & context) =0<br>Called after content().
virtual voidfinalize(DrawInfo & context)<br>The final method to be called, gets called every frame and doesn't do any drawing.
ImRectgetDisplayRect() const<br>Object's bounds aligned to current viewport pixel boundaries.
IDgetId() const
DiwneObject *getParentObject() const
ImVec2getPosition() const<br>Returns the top left corner of the object's rect.
virtual ImRectgetRect() const<br>Rectangle bounds of the object in DIWNE coordinates (editor canvas coordinates).
boolgetSelectable()
virtual boolgetSelected() const<br>Whether the object is selected or not.
StyleOverride *getStyleOverride() const
virtual voidinitialize(DrawInfo & context)<br>First method to be called every frame.
boolisAnyParentSelected()
boolisChildObject() const
boolisChildOfObject(DiwneObject * parent)
boolisDestroyed() const
boolisDragging(DrawInfo & context)<br>Is this object the source of an active dragging operation?
boolisFixed() const<br>Fixed objects are ones rendered at a position determined by some other object.
boolisRendered() const
boolisToBeBroughtToFront()
virtual voidonDestroy(bool logEvent)<br>Gets called the moment the object is marked for deletion by destroy().
virtual voidonDrag(DrawInfo & context, bool dragStart, bool dragEnd)<br>This method gets called when the object is being dragged.
virtual voidonHover(DrawInfo & context)<br>This method gets called when the object is hovered.
virtual voidonPopup()
virtual voidonPressed(bool justPressed, DrawInfo & context)<br>Called when the object is pressed, meaning a key is pressed over it.
virtual voidonReleased(bool justReleased, DrawInfo & context)<br>Called when the object is not pressed.
virtual voidonSelection(bool selected)
voidopenPopup()<br>Request to open the object's popup if possible.
booloperator!=(const DiwneObject & rhs) const
booloperator==(const DiwneObject & rhs) const
virtual voidpopupContent(DrawInfo & context)<br>Content of popup menu raised on this objec.
virtual voidprocessInteractions(DrawInfo & context)<br>Method for reacting to user input after the object is fully drawn and its dimensions are known.
voidsetBringToFront(bool val)<br>Marks the object to be brought to front (be drawn first).
voidsetFixed(bool val)
voidsetForceDraw(bool val)<br>When true, makes the object automatically add the ForceDraw DrawMode flag.
voidsetParentObject(DiwneObject * parent)
voidsetPopupEnabled(bool val)
voidsetPosition(const ImVec2 & position)<br>Move the object's rect and any other associated positional data to the specified position.
voidsetRendered(bool val)
voidsetSelectable(bool selectable)<br>Whether the object can be selected.
virtual boolsetSelected(bool selected)<br>Set the selection state of the object.
voidsetStyleOverride(StyleOverride * styleOverride)<br>Assign a StyleOverride object to this DiwneObject.
voidsetTooltip(const std::string & text)
voidsetTooltipEnabled(bool val)
template <typename T =DiwneObject&gt; <br>std::shared_ptr< T >sharedPtr()<br>Returns a shared pointer to this object.
voidshowTooltip(const std::string & label, const ImColor && color, DrawInfo & context)<br>Immediately show a tooltip next to the mouse cursor with the specified text.
voidshowTooltip(const std::string & label, const std::string & desc, const ImColor && color, DrawInfo & context, float wrapWidth =35.f)<br>Immediately show a tooltip next to the mouse cursor with the specified text.
voidstopDrag(DrawInfo & context)<br>End an active drag operation this object is a source of.
virtual Style &style() const<br>Get the style for this object.
virtual voidtooltipContent(DrawInfo & context)<br>Content of the object's tooltip.
virtual voidtranslate(const ImVec2 & vec)<br>Move the object's rect and any other associated positional data.
virtual voidupdateLayout(DrawInfo & context) =0<br>Updates object's m_rect, m_displayRect and any other object size variables.

Protected Functions inherited from DIWNE::DiwneObject

Name
virtual voidafterDrawDiwne(DrawInfo & context)<br>Updates layout, processes interactions and then calls the user afterDraw() method.
virtual voidbeginDiwne(DrawInfo & context)
virtual voidendDiwne(DrawInfo & context)
virtual voidfinalizeDiwne(DrawInfo & context)
virtual voidinitializeDiwne(DrawInfo & context)
virtual boolisDraggedDiwne()<br>Is the object being dragged? (usually by mouse or some key combo)
virtual boolisHoveredDiwne()<br>Is the object being hovered? The default implementation mostly gets this information from ImGui::IsItemHovered() but the behavior can be changed or restricted.
virtual boolisJustPressedDiwne()<br>Determine whether a key/s of interest was/were just pressed.
virtual boolisPressedDiwne()<br>Determine whether a key/s of interest is/are pressed down over the object.
virtual boolpopupShouldBeOpenedDiwne() const<br>Determine whether a popup should be opened, that is, by default, that right mouse button was pressed and isn't dragging.
virtual voidprocessDragDiwne(DrawInfo & context)
virtual voidprocessHoverDiwne(DrawInfo & context)<br>Processes whether the object is currently hovered.
virtual voidprocessInteractionsDiwne(DrawInfo & context)
virtual voidprocessPopupAndTooltipDiwne(DrawInfo & context)<br>Processes whether a popup should be opened over this object.
virtual voidprocessPressAndReleaseDiwne(DrawInfo & context)<br>Processes whether the object is currently pressed (held) and further if it was just pressed or released.
virtual boolprocessSelectDiwne(DrawInfo & context)<br>Processes any interactions related to whether the object should be selected.
virtual voidsetInitialPositionDiwne()<br>Internal helper for setting the object's initial position.
voidsetSize(const ImVec2 & size)
voidupdateRectFromImGuiItem()

Public Attributes inherited from DIWNE::DiwneObject

Name
NodeEditor &diwne <br>Reference to the NodeEditor instance (also named 'editor' in some classes)
boolm_deletable <br>Whether the object can be destroyed by the user.
boolm_destroy <br>Indicates the object is to be deleted (and deallocated)
ImRectm_displayRect <br>Rectangle bounds aligned with the last viewport.
boolm_draggable <br>Whether dragging of the object is allowed by default.
DrawModem_drawMode <br>Read-only flag thats updated on each drawDiwne().
boolm_drawnThisFrame <br>Read only flag indicating whether the object has been drawn this frame.
boolm_fixed <br>Whether the object can be moved by user operations.
boolm_forceHoverDiwne <br>Special flag that can be used to enforce hover state, used by pin drag assist.
boolm_hoverable <br>Whether hovering is enabled by default.
boolm_hovered <br>Is the object hovered (usually by the mouse or whatever isHoveredDiwne() tracks)
boolm_hoverRoot <br>Whether hovering this object should prevent other objects from hovering.
IDm_idDiwne <br>Unique numeric identifier of the object.
boolm_isDragged <br>Is the object dragged? Returns false immediately on drag end (unlike isDragging()).
boolm_isPressed <br>Is the object pressed down (held)? Requirement for dragging.
boolm_justHidden <br>Read only flag indicating that this object was drawn last frame, but not this one.
boolm_justPressed <br>Read only flag indicating the object was pressed this frame (eg.
boolm_justReleased <br>Read only flag indicating the object was released this frame (eg.
std::stringm_labelDiwne <br>Unique string identifier, consists of <some string>:<m_idDiwne>.
ImRectm_rect <br>Rectangle bounds of the object in diwne coordinates.
StyleOverride *m_styleOverride <br>Style override to allow uniquely styled object types.

Protected Attributes inherited from DIWNE::DiwneObject

Name
unsigned long longg_diwneIDCounter <br>Static unique ID generator, unique only for current application run.
boolm_bringToFront <br>Request the object's rendering order to be moved to the front above other objects.
boolm_forceDraw <br>Request the next draw of the object to have the ForceDraw DrawMode flag.
boolm_internalHover <br>Temporary storage for an internal ImGui::IsItemHovered() check Can be set in the end() method to determine if object is hovered if applicable.
boolm_openPopup <br>Request to open popup.
boolm_openTooltip <br>Request to open tooltip.
DiwneObject *m_parentObject <br>Sets the parent object of object, relevant in node container and hover hierarchy.
boolm_popupEnabled <br>Whether this object has popup enabled.
std::stringm_popupLabelDiwne <br>ImGui popup identifier.
boolm_rendered <br>Whether the object should be drawn, this is a general flag that overrides behavior of the allowDrawing() method.
boolm_selectable <br>Should not be accessed directly.
boolm_selected <br>Should not be accessed directly.
boolm_tooltipEnabled <br>Whether this object has tooltip enabled.
std::stringm_tooltipText

Public Functions inherited from DIWNE::NodeContainer

Name
NodeContainer(DiwneObject * owner)<br>Constructs the node container for a specific DiwneObject that it represents.
voidaddNode(const std::shared_ptr< Node > & node)<br>Adds a node to the end of the list (O(1)) The new node has this container set as its parent.
virtual voidaddNodeAt(const std::shared_ptr< Node > & node, int index)<br>Adds a node at a specified index.
virtual NodeList &getNodeList() override<br>Returns the underlying std::vector node list of the container.
virtual NodeRangegetNodes() const override<br>Returns a iterable range to the nodes of this container.
voidpurgeNodes()<br>Erases objects marked for deletion or removal from the container.
boolremoveNode(const std::shared_ptr< Node > & node)<br>Removes a node from the container.
virtual voidremoveNodeAt(int index)<br>Removes a node at a specified index from the container.
boolreplaceNode(const std::shared_ptr< Node > & oldNode, const std::shared_ptr< Node > & newNode)<br>Replaces an existing node with a new one.
virtual voidreplaceNodeAt(const std::shared_ptr< Node > & node, int index)<br>Replaces node at a specified index with a different one.

Protected Attributes inherited from DIWNE::NodeContainer

Name
NodeListm_nodes
DiwneObject *m_owner <br>Diwne object associated with this node container.

Public Functions inherited from DIWNE::INodeContainer

Name
virtual~INodeContainer() =default
virtual NodeList &getNodeList() =0
virtual NodeRangegetNodes() const =0

Public Functions Documentation

function SequenceDropZone

cpp
SequenceDropZone(
    DIWNE::NodeEditor & diwne,
    Sequence * sequence
)
SequenceDropZone(
    DIWNE::NodeEditor & diwne,
    Sequence * sequence
)

function acceptNode

cpp
virtual bool acceptNode(
    DIWNE::Node * node
) override
virtual bool acceptNode(
    DIWNE::Node * node
) override

Decides whether the passed node should be allowed to be added to this drop zone.

Reimplements: DIWNE::NodeDropZone::acceptNode

function onNodeAdd

cpp
virtual void onNodeAdd(
    DIWNE::Node * node,
    int index
) override
virtual void onNodeAdd(
    DIWNE::Node * node,
    int index
) override

Called after a node is inserted into the container.

Parameters:

  • node Raw pointer to the just inserted node.
  • index Index the node was inserted at.

Reimplements: DIWNE::NodeDropZone::onNodeAdd

function onNodeRemove

cpp
void onNodeRemove(
    std::shared_ptr< DIWNE::Node > node,
    int index
) override
void onNodeRemove(
    std::shared_ptr< DIWNE::Node > node,
    int index
) override

Protected Functions Documentation

function drawEmptyContent

cpp
virtual void drawEmptyContent(
    DIWNE::DrawInfo & context
) override
virtual void drawEmptyContent(
    DIWNE::DrawInfo & context
) override

Content drawn where there are no nodes in the drop zone.

Reimplements: DIWNE::NodeDropZone::drawEmptyContent

Public Attributes Documentation

variable m_sequence

cpp
Sequence * m_sequence;
Sequence * m_sequence;

Updated on 2025-05-31 at 12:55:31 +0000