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

#include <i_node.hpp>

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

Public Types

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

 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
 
virtual node_inputs_t const & inputs () const =0
 
virtual node_outputs_t const & outputs () const =0
 
virtual node_connections_t const & connections () const =0
 
virtual std::size_t connected_inputs () const =0
 
virtual std::size_t connected_outputs () const =0
 
virtual void add_input (i_node_input_pin &aPin)=0
 
virtual void remove_input (i_node_input_pin &aPin)=0
 
virtual void add_output (i_node_output_pin &aPin)=0
 
virtual void remove_output (i_node_output_pin &aPin)=0
 
virtual void add_connection (i_node_pin &aSource, i_node_pin &aDestination)=0
 
virtual void remove_connection (i_node_pin &aSource, i_node_pin &aDestination)=0
 
- 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
 

Detailed Description

Definition at line 90 of file i_node.hpp.

Member Typedef Documentation

◆ abstract_type

◆ node_connections_t

◆ node_inputs_t

◆ node_outputs_t

Member Function Documentation

◆ add_connection()

virtual void neogfx::DesignStudio::i_node::add_connection ( i_node_pin aSource,
i_node_pin aDestination 
)
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ add_input()

virtual void neogfx::DesignStudio::i_node::add_input ( i_node_input_pin aPin)
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ add_output()

virtual void neogfx::DesignStudio::i_node::add_output ( i_node_output_pin aPin)
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ connected_inputs()

virtual std::size_t neogfx::DesignStudio::i_node::connected_inputs ( ) const
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ connected_outputs()

virtual std::size_t neogfx::DesignStudio::i_node::connected_outputs ( ) const
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ connections()

virtual node_connections_t const & neogfx::DesignStudio::i_node::connections ( ) const
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ declare_event() [1/3]

i_node_input_pin i_node_output_pin & neogfx::DesignStudio::i_node::declare_event ( connection_added  ,
i_node_connection  
)

◆ declare_event() [2/3]

neogfx::DesignStudio::i_node::declare_event ( input_added  ,
i_node_input_pin  
)

◆ declare_event() [3/3]

i_node_input_pin & neogfx::DesignStudio::i_node::declare_event ( output_added  ,
i_node_output_pin  
)

◆ inputs()

virtual node_inputs_t const & neogfx::DesignStudio::i_node::inputs ( ) const
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ outputs()

virtual node_outputs_t const & neogfx::DesignStudio::i_node::outputs ( ) const
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ remove_connection()

virtual void neogfx::DesignStudio::i_node::remove_connection ( i_node_pin aSource,
i_node_pin aDestination 
)
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ remove_input()

virtual void neogfx::DesignStudio::i_node::remove_input ( i_node_input_pin aPin)
pure virtual

Implemented in neogfx::DesignStudio::node.

◆ remove_output()

virtual void neogfx::DesignStudio::i_node::remove_output ( i_node_output_pin aPin)
pure virtual

Implemented in neogfx::DesignStudio::node.


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