neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::DesignStudio::node Class Reference

#include <node.hpp>

Inheritance diagram for neogfx::DesignStudio::node:
neogfx::DesignStudio::i_node neogfx::DesignStudio::i_element neolib::i_reference_counted

Public Types

typedef base_type abstract_type
 
typedef neolib::vector< ref_ptr< i_node_input_pin > > node_inputs_t
 
typedef neolib::vector< ref_ptr< i_node_output_pin > > node_outputs_t
 
typedef neolib::vector< ref_ptr< i_node_connection > > node_connections_t
 
- Public Types inherited from neogfx::DesignStudio::i_node
typedef i_element abstract_type
 
typedef neolib::i_vector< i_ref_ptr< i_node_input_pin > > node_inputs_t
 
typedef neolib::i_vector< i_ref_ptr< i_node_output_pin > > node_outputs_t
 
typedef neolib::i_vector< i_ref_ptr< i_node_connection > > node_connections_t
 
- Public Types inherited from neogfx::DesignStudio::i_element
typedef i_element abstract_type
 
typedef neolib::i_vector< i_ref_ptr< i_element > > children_t
 

Public Member Functions

 define_declared_event (InputAdded, input_added, i_node_input_pin &) define_declared_event(InputRemoved
 
i_node_input_pindefine_declared_event (OutputAdded, output_added, i_node_output_pin &) define_declared_event(OutputRemoved
 
i_node_input_pin i_node_output_pindefine_declared_event (ConnectionAdded, connection_added, i_node_connection &) define_declared_event(ConnectionRemoved
 
node_inputs_t const & inputs () const override
 
node_outputs_t const & outputs () const override
 
node_connections_t const & connections () const override
 
std::size_t connected_inputs () const override
 
std::size_t connected_outputs () const override
 
void add_input (i_node_input_pin &aPin) override
 
void remove_input (i_node_input_pin &aPin) override
 
void add_output (i_node_output_pin &aPin) override
 
void remove_output (i_node_output_pin &aPin) override
 
void add_connection (i_node_pin &aSource, i_node_pin &aDestination) override
 
void remove_connection (i_node_pin &aSource, i_node_pin &aDestination) override
 
- Public Member Functions inherited from neogfx::DesignStudio::i_node
 declare_event (input_added, i_node_input_pin &) declare_event(input_removed
 
i_node_input_pindeclare_event (output_added, i_node_output_pin &) declare_event(output_removed
 
i_node_input_pin i_node_output_pindeclare_event (connection_added, i_node_connection &) declare_event(connection_removed
 
- Public Member Functions inherited from neogfx::DesignStudio::i_element
 declare_event (mode_changed) declare_event(selection_changed) declare_event(context_menu
 
virtual i_element_library const & library () const =0
 
virtual i_projectproject () const =0
 
virtual element_group group () const =0
 
virtual neolib::i_string const & type () const =0
 
virtual neolib::i_string const & id () const =0
 
virtual i_element const & root () const =0
 
virtual i_elementroot ()=0
 
virtual bool has_parent () const =0
 
virtual i_element const & parent () const =0
 
virtual i_elementparent ()=0
 
virtual void set_parent (i_element &aParent)=0
 
virtual children_t const & children () const =0
 
virtual children_tchildren ()=0
 
virtual void add_child (i_element &aChild)=0
 
virtual void remove_child (i_element &aChild)=0
 
virtual void create_default_children ()=0
 
virtual bool needs_caddy () const =0
 
virtual bool has_caddy () const =0
 
virtual i_element_caddycaddy () const =0
 
virtual void set_caddy (i_element_caddy &aCaddy)=0
 
virtual bool has_layout_item () const =0
 
virtual void create_layout_item (i_widget &aParent)=0
 
virtual i_layout_itemlayout_item () const =0
 
virtual element_mode mode () const =0
 
virtual void set_mode (element_mode aMode)=0
 
virtual bool is_selected () const =0
 
virtual void select (bool aSelected=true, bool aDeselectRest=true)=0
 
children_t::const_iterator begin () const
 
children_t::iterator begin ()
 
children_t::const_iterator end () const
 
children_t::iterator end ()
 
bool is_root () const
 
std::size_t selected_child_count () const
 
void visit (std::function< void(i_element &)> aVisitor)
 
void reverse_visit (std::function< void(i_element &)> aVisitor)
 
bool has_widget () const
 
i_widgetwidget () const
 
- Public Member Functions inherited from neolib::i_reference_counted
virtual ~i_reference_counted ()=default
 
virtual void add_ref () const noexcept=0
 
virtual void release () const =0
 
virtual int32_t use_count () const noexcept=0
 
virtual const i_reference_countedrelease_and_take_ownership () const =0
 
virtual i_reference_countedrelease_and_take_ownership ()=0
 
virtual void pin () const noexcept=0
 
virtual void unpin () const =0
 
virtual i_ref_control_blockcontrol_block ()=0
 

Public Attributes

 input_removed
 
i_node_input_pin output_removed
 
i_node_input_pin i_node_output_pin connection_removed
 

Detailed Description

Definition at line 120 of file node.hpp.

Member Typedef Documentation

◆ abstract_type

Definition at line 132 of file node.hpp.

◆ node_connections_t

◆ node_inputs_t

◆ node_outputs_t

Member Function Documentation

◆ add_connection()

void neogfx::DesignStudio::node::add_connection ( i_node_pin aSource,
i_node_pin aDestination 
)
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 196 of file node.hpp.

◆ add_input()

void neogfx::DesignStudio::node::add_input ( i_node_input_pin aPin)
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 166 of file node.hpp.

◆ add_output()

void neogfx::DesignStudio::node::add_output ( i_node_output_pin aPin)
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 181 of file node.hpp.

◆ connected_inputs()

std::size_t neogfx::DesignStudio::node::connected_inputs ( ) const
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 149 of file node.hpp.

◆ connected_outputs()

std::size_t neogfx::DesignStudio::node::connected_outputs ( ) const
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 157 of file node.hpp.

◆ connections()

node_connections_t const & neogfx::DesignStudio::node::connections ( ) const
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 145 of file node.hpp.

◆ define_declared_event() [1/3]

i_node_input_pin i_node_output_pin & neogfx::DesignStudio::node::define_declared_event ( ConnectionAdded  ,
connection_added  ,
i_node_connection  
)

◆ define_declared_event() [2/3]

neogfx::DesignStudio::node::define_declared_event ( InputAdded  ,
input_added  ,
i_node_input_pin  
)

◆ define_declared_event() [3/3]

i_node_input_pin & neogfx::DesignStudio::node::define_declared_event ( OutputAdded  ,
output_added  ,
i_node_output_pin  
)

◆ inputs()

node_inputs_t const & neogfx::DesignStudio::node::inputs ( ) const
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 137 of file node.hpp.

◆ outputs()

node_outputs_t const & neogfx::DesignStudio::node::outputs ( ) const
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 141 of file node.hpp.

◆ remove_connection()

void neogfx::DesignStudio::node::remove_connection ( i_node_pin aSource,
i_node_pin aDestination 
)
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 201 of file node.hpp.

◆ remove_input()

void neogfx::DesignStudio::node::remove_input ( i_node_input_pin aPin)
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 171 of file node.hpp.

◆ remove_output()

void neogfx::DesignStudio::node::remove_output ( i_node_output_pin aPin)
inlineoverridevirtual

Implements neogfx::DesignStudio::i_node.

Definition at line 186 of file node.hpp.

Member Data Documentation

◆ connection_removed

i_node_input_pin i_node_output_pin neogfx::DesignStudio::node::connection_removed

Definition at line 130 of file node.hpp.

◆ input_removed

neogfx::DesignStudio::node::input_removed

Definition at line 126 of file node.hpp.

◆ output_removed

i_node_input_pin neogfx::DesignStudio::node::output_removed

Definition at line 128 of file node.hpp.


The documentation for this class was generated from the following file: