FlowCanvas 0.7.1
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
FlowCanvas::Module Class Reference

A named block (possibly) containing input and output ports. More...

#include <Module.hpp>

Inheritance diagram for FlowCanvas::Module:
Inheritance graph
[legend]
Collaboration diagram for FlowCanvas::Module:
Collaboration graph
[legend]

Public Member Functions

 Module (boost::shared_ptr< Canvas > canvas, const std::string &name, double x=0, double y=0, bool show_title=true, bool show_port_labels=true)
 
virtual ~Module ()
 
const PortVectorports () const
 
PortVectorports ()
 
boost::shared_ptr< Portget_port (const std::string &name) const
 Find a port on this module. More...
 
void add_port (boost::shared_ptr< Port > port)
 
void remove_port (boost::shared_ptr< Port > port)
 
boost::shared_ptr< Portport_at (double x, double y)
 
void zoom (double z)
 
void resize ()
 
bool show_port_labels (bool b)
 
void set_show_port_labels (bool b)
 
virtual void move (double dx, double dy)
 
virtual void move_to (double x, double y)
 
virtual void set_name (const std::string &n)
 
double border_width () const
 
void set_border_width (double w)
 
void select_tick ()
 
void set_selected (bool b)
 
void set_highlighted (bool b)
 
void set_border_color (uint32_t c)
 
void set_base_color (uint32_t c)
 
void set_default_base_color ()
 
void set_stacked_border (bool b)
 
void set_icon (const Glib::RefPtr< Gdk::Pixbuf > &icon)
 
size_t num_ports () const
 
double empty_port_breadth () const
 
double empty_port_depth () const
 
- Public Member Functions inherited from FlowCanvas::Item
 Item (boost::shared_ptr< Canvas > canvas, const std::string &name, double x, double y, uint32_t color)
 
virtual ~Item ()
 
bool selected () const
 
virtual void set_selected (bool s)
 
virtual void set_minimum_width (double w)
 
virtual void select_tick ()=0
 
virtual void move (double dx, double dy)=0
 
virtual void zoom (double z)
 
boost::weak_ptr< Canvascanvas () const
 
bool popup_menu (guint button, guint32 activate_time)
 
virtual void create_menu ()
 
Gtk::Menu * menu () const
 
void set_menu (Gtk::Menu *m)
 
double width () const
 
double height () const
 
virtual void resize ()=0
 
virtual void load_location ()
 
virtual void store_location ()
 
bool is_within (const Gnome::Canvas::Rect &rect) const
 
bool point_is_within (double x, double y) const
 Returns whether or not the point x, y (world units) is within the item. More...
 
const std::string & name () const
 
virtual void set_name (const std::string &n)
 
uint32_t base_color () const
 
virtual void set_border_color (uint32_t c)
 
virtual void set_base_color (uint32_t c)
 
virtual void set_default_base_color ()=0
 
void set_partner (boost::shared_ptr< Item > partner)
 Set the partner of this node. More...
 
boost::weak_ptr< Itempartner ()
 

Protected Member Functions

virtual bool on_event (GdkEvent *ev)
 
virtual void set_width (double w)
 
virtual void set_height (double h)
 
void fit_canvas ()
 
void measure_ports ()
 
void resize_horiz ()
 
void resize_vert ()
 
void port_renamed ()
 
void embed (Gtk::Container *widget)
 
- Protected Member Functions inherited from FlowCanvas::Item
virtual void on_drag (double dx, double dy)
 
virtual void on_drop ()
 
virtual void on_click (GdkEventButton *ev)
 
virtual void on_double_click (GdkEventButton *ev)
 
virtual void set_height (double h)=0
 
virtual void set_width (double w)=0
 
bool on_event (GdkEvent *event)
 

Protected Attributes

PortVector _ports
 
Gnome::Canvas::Rect _module_box
 
Gnome::Canvas::Text _canvas_title
 
Gnome::Canvas::Rect * _stacked_border
 
Gnome::Canvas::Pixbuf * _icon_box
 
Gtk::Container * _embed_container
 
Gnome::Canvas::Widget * _embed_item
 
double _border_width
 
double _embed_width
 
double _embed_height
 
double _icon_size
 
double _widest_input
 
double _widest_output
 
double _title_width
 
double _title_height
 
bool _title_visible:1
 
bool _port_renamed:1
 
bool _show_port_labels:1
 
- Protected Attributes inherited from FlowCanvas::Item
const boost::weak_ptr< Canvas_canvas
 
boost::weak_ptr< Item_partner
 
Gtk::Menu * _menu
 
std::string _name
 
double _minimum_width
 
double _width
 
double _height
 
uint32_t _border_color
 
uint32_t _color
 
bool _selected:1
 

Friends

class Canvas
 

Additional Inherited Members

- Public Attributes inherited from FlowCanvas::Item
sigc::signal< void > signal_pointer_entered
 
sigc::signal< void > signal_pointer_exited
 
sigc::signal< void > signal_selected
 
sigc::signal< void > signal_unselected
 
sigc::signal< void, GdkEventButton * > signal_clicked
 
sigc::signal< void, GdkEventButton * > signal_double_clicked
 
sigc::signal< void, double, double > signal_dragged
 
sigc::signal< void, double, double > signal_dropped
 

Detailed Description

A named block (possibly) containing input and output ports.

Constructor & Destructor Documentation

◆ Module()

FlowCanvas::Module::Module ( boost::shared_ptr< Canvas canvas,
const std::string &  name,
double  x = 0,
double  y = 0,
bool  show_title = true,
bool  show_port_labels = true 
)

◆ ~Module()

virtual FlowCanvas::Module::~Module ( )
virtual

Member Function Documentation

◆ ports() [1/2]

const PortVector & FlowCanvas::Module::ports ( ) const
inline

References _ports.

◆ ports() [2/2]

PortVector & FlowCanvas::Module::ports ( )
inline

References _ports.

◆ get_port()

boost::shared_ptr< Port > FlowCanvas::Module::get_port ( const std::string &  name) const
inline

Find a port on this module.

References _ports.

◆ add_port()

void FlowCanvas::Module::add_port ( boost::shared_ptr< Port port)

◆ remove_port()

void FlowCanvas::Module::remove_port ( boost::shared_ptr< Port port)

◆ port_at()

boost::shared_ptr< Port > FlowCanvas::Module::port_at ( double  x,
double  y 
)

◆ zoom()

void FlowCanvas::Module::zoom ( double  z)
virtual

Reimplemented from FlowCanvas::Item.

◆ resize()

void FlowCanvas::Module::resize ( )
virtual

Implements FlowCanvas::Item.

◆ show_port_labels()

bool FlowCanvas::Module::show_port_labels ( bool  b)
inline

References _show_port_labels.

◆ set_show_port_labels()

void FlowCanvas::Module::set_show_port_labels ( bool  b)

◆ move()

virtual void FlowCanvas::Module::move ( double  dx,
double  dy 
)
virtual

Implements FlowCanvas::Item.

◆ move_to()

virtual void FlowCanvas::Module::move_to ( double  x,
double  y 
)
virtual

◆ set_name()

virtual void FlowCanvas::Module::set_name ( const std::string &  n)
virtual

Reimplemented from FlowCanvas::Item.

◆ border_width()

double FlowCanvas::Module::border_width ( ) const
inline

References _border_width.

◆ set_border_width()

void FlowCanvas::Module::set_border_width ( double  w)

◆ select_tick()

void FlowCanvas::Module::select_tick ( )
virtual

Implements FlowCanvas::Item.

◆ set_selected()

void FlowCanvas::Module::set_selected ( bool  b)
virtual

Reimplemented from FlowCanvas::Item.

◆ set_highlighted()

void FlowCanvas::Module::set_highlighted ( bool  b)

◆ set_border_color()

void FlowCanvas::Module::set_border_color ( uint32_t  c)
virtual

Reimplemented from FlowCanvas::Item.

◆ set_base_color()

void FlowCanvas::Module::set_base_color ( uint32_t  c)
virtual

Reimplemented from FlowCanvas::Item.

◆ set_default_base_color()

void FlowCanvas::Module::set_default_base_color ( )
virtual

Implements FlowCanvas::Item.

◆ set_stacked_border()

void FlowCanvas::Module::set_stacked_border ( bool  b)

◆ set_icon()

void FlowCanvas::Module::set_icon ( const Glib::RefPtr< Gdk::Pixbuf > &  icon)

◆ num_ports()

size_t FlowCanvas::Module::num_ports ( ) const
inline

References _ports.

◆ empty_port_breadth()

double FlowCanvas::Module::empty_port_breadth ( ) const

◆ empty_port_depth()

double FlowCanvas::Module::empty_port_depth ( ) const

◆ on_event()

virtual bool FlowCanvas::Module::on_event ( GdkEvent *  ev)
protectedvirtual

◆ set_width()

virtual void FlowCanvas::Module::set_width ( double  w)
protectedvirtual

Implements FlowCanvas::Item.

◆ set_height()

virtual void FlowCanvas::Module::set_height ( double  h)
protectedvirtual

Implements FlowCanvas::Item.

◆ fit_canvas()

void FlowCanvas::Module::fit_canvas ( )
protected

◆ measure_ports()

void FlowCanvas::Module::measure_ports ( )
protected

◆ resize_horiz()

void FlowCanvas::Module::resize_horiz ( )
protected

◆ resize_vert()

void FlowCanvas::Module::resize_vert ( )
protected

◆ port_renamed()

void FlowCanvas::Module::port_renamed ( )
inlineprotected

References _port_renamed.

◆ embed()

void FlowCanvas::Module::embed ( Gtk::Container *  widget)
protected

Friends And Related Function Documentation

◆ Canvas

friend class Canvas
friend

Member Data Documentation

◆ _ports

PortVector FlowCanvas::Module::_ports
protected

Referenced by get_port(), num_ports(), and ports().

◆ _module_box

Gnome::Canvas::Rect FlowCanvas::Module::_module_box
protected

◆ _canvas_title

Gnome::Canvas::Text FlowCanvas::Module::_canvas_title
protected

◆ _stacked_border

Gnome::Canvas::Rect* FlowCanvas::Module::_stacked_border
protected

◆ _icon_box

Gnome::Canvas::Pixbuf* FlowCanvas::Module::_icon_box
protected

◆ _embed_container

Gtk::Container* FlowCanvas::Module::_embed_container
protected

◆ _embed_item

Gnome::Canvas::Widget* FlowCanvas::Module::_embed_item
protected

◆ _border_width

double FlowCanvas::Module::_border_width
protected

Referenced by border_width().

◆ _embed_width

double FlowCanvas::Module::_embed_width
protected

◆ _embed_height

double FlowCanvas::Module::_embed_height
protected

◆ _icon_size

double FlowCanvas::Module::_icon_size
protected

◆ _widest_input

double FlowCanvas::Module::_widest_input
protected

◆ _widest_output

double FlowCanvas::Module::_widest_output
protected

◆ _title_width

double FlowCanvas::Module::_title_width
protected

◆ _title_height

double FlowCanvas::Module::_title_height
protected

◆ _title_visible

bool FlowCanvas::Module::_title_visible
protected

◆ _port_renamed

bool FlowCanvas::Module::_port_renamed
protected

Referenced by port_renamed().

◆ _show_port_labels

bool FlowCanvas::Module::_show_port_labels
protected

Referenced by show_port_labels().


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