FlowCanvas 0.7.1
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
FlowCanvas::Item Class Referenceabstract

An item on a Canvas. More...

#include <Item.hpp>

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

Public Member Functions

 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 ()
 

Public Attributes

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
 

Protected Member Functions

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

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
 

Detailed Description

An item on a Canvas.

Constructor & Destructor Documentation

◆ Item()

FlowCanvas::Item::Item ( boost::shared_ptr< Canvas canvas,
const std::string &  name,
double  x,
double  y,
uint32_t  color 
)

◆ ~Item()

virtual FlowCanvas::Item::~Item ( )
inlinevirtual

Member Function Documentation

◆ selected()

bool FlowCanvas::Item::selected ( ) const
inline

References _selected.

◆ set_selected()

virtual void FlowCanvas::Item::set_selected ( bool  s)
virtual

Reimplemented in FlowCanvas::Ellipse, and FlowCanvas::Module.

◆ set_minimum_width()

virtual void FlowCanvas::Item::set_minimum_width ( double  w)
inlinevirtual

References _minimum_width.

◆ select_tick()

virtual void FlowCanvas::Item::select_tick ( )
pure virtual

◆ move()

virtual void FlowCanvas::Item::move ( double  dx,
double  dy 
)
pure virtual

◆ zoom()

virtual void FlowCanvas::Item::zoom ( double  z)
inlinevirtual

Reimplemented in FlowCanvas::Ellipse, and FlowCanvas::Module.

◆ canvas()

boost::weak_ptr< Canvas > FlowCanvas::Item::canvas ( ) const
inline

References _canvas.

◆ popup_menu()

bool FlowCanvas::Item::popup_menu ( guint  button,
guint32  activate_time 
)
inline

References _menu, and create_menu().

◆ create_menu()

virtual void FlowCanvas::Item::create_menu ( )
inlinevirtual

Referenced by popup_menu().

◆ menu()

Gtk::Menu * FlowCanvas::Item::menu ( ) const
inline

References _menu.

◆ set_menu()

void FlowCanvas::Item::set_menu ( Gtk::Menu *  m)
inline

References _menu.

◆ width()

double FlowCanvas::Item::width ( ) const
inline

References _width.

Referenced by is_within().

◆ height()

double FlowCanvas::Item::height ( ) const
inline

References _height.

Referenced by is_within().

◆ resize()

virtual void FlowCanvas::Item::resize ( )
pure virtual

◆ load_location()

virtual void FlowCanvas::Item::load_location ( )
inlinevirtual

Reimplemented in FlowCanvas::Ellipse.

◆ store_location()

virtual void FlowCanvas::Item::store_location ( )
inlinevirtual

Reimplemented in FlowCanvas::Ellipse.

◆ is_within()

bool FlowCanvas::Item::is_within ( const Gnome::Canvas::Rect &  rect) const
inline

References height(), and width().

◆ point_is_within()

bool FlowCanvas::Item::point_is_within ( double  x,
double  y 
) const
inline

Returns whether or not the point x, y (world units) is within the item.

References _height, and _width.

◆ name()

const std::string & FlowCanvas::Item::name ( ) const
inline

References _name.

◆ set_name()

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

Reimplemented in FlowCanvas::Ellipse, and FlowCanvas::Module.

References _name.

◆ base_color()

uint32_t FlowCanvas::Item::base_color ( ) const
inline

References _color.

◆ set_border_color()

virtual void FlowCanvas::Item::set_border_color ( uint32_t  c)
inlinevirtual

Reimplemented in FlowCanvas::Ellipse, and FlowCanvas::Module.

References _border_color.

◆ set_base_color()

virtual void FlowCanvas::Item::set_base_color ( uint32_t  c)
inlinevirtual

Reimplemented in FlowCanvas::Ellipse, and FlowCanvas::Module.

References _color.

◆ set_default_base_color()

virtual void FlowCanvas::Item::set_default_base_color ( )
pure virtual

◆ set_partner()

void FlowCanvas::Item::set_partner ( boost::shared_ptr< Item partner)
inline

Set the partner of this node.

Partner nodes are nodes that should be visually aligned to correspond to each other, even if they are not necessarily connected (e.g. for separate modules representing the inputs and outputs of a single interface). The partner is invisibly connected as if it had an input that is connected to this item, e.g. foo.set_partner(bar) will arrange like: [foo] [bar] with a left-to-right flow direction.

References _partner, and partner().

◆ partner()

boost::weak_ptr< Item > FlowCanvas::Item::partner ( )
inline

References _partner.

Referenced by set_partner().

◆ on_drag()

virtual void FlowCanvas::Item::on_drag ( double  dx,
double  dy 
)
protectedvirtual

◆ on_drop()

virtual void FlowCanvas::Item::on_drop ( )
protectedvirtual

◆ on_click()

virtual void FlowCanvas::Item::on_click ( GdkEventButton *  ev)
protectedvirtual

◆ on_double_click()

virtual void FlowCanvas::Item::on_double_click ( GdkEventButton *  ev)
protectedvirtual

◆ set_height()

virtual void FlowCanvas::Item::set_height ( double  h)
protectedpure virtual

◆ set_width()

virtual void FlowCanvas::Item::set_width ( double  w)
protectedpure virtual

◆ on_event()

bool FlowCanvas::Item::on_event ( GdkEvent *  event)
protected

Member Data Documentation

◆ signal_pointer_entered

sigc::signal<void> FlowCanvas::Item::signal_pointer_entered

◆ signal_pointer_exited

sigc::signal<void> FlowCanvas::Item::signal_pointer_exited

◆ signal_selected

sigc::signal<void> FlowCanvas::Item::signal_selected

◆ signal_unselected

sigc::signal<void> FlowCanvas::Item::signal_unselected

◆ signal_clicked

sigc::signal<void, GdkEventButton*> FlowCanvas::Item::signal_clicked

◆ signal_double_clicked

sigc::signal<void, GdkEventButton*> FlowCanvas::Item::signal_double_clicked

◆ signal_dragged

sigc::signal<void, double, double> FlowCanvas::Item::signal_dragged

◆ signal_dropped

sigc::signal<void, double, double> FlowCanvas::Item::signal_dropped

◆ _canvas

const boost::weak_ptr<Canvas> FlowCanvas::Item::_canvas
protected

Referenced by canvas().

◆ _partner

boost::weak_ptr<Item> FlowCanvas::Item::_partner
protected

Referenced by partner(), and set_partner().

◆ _menu

Gtk::Menu* FlowCanvas::Item::_menu
protected

Referenced by menu(), popup_menu(), and set_menu().

◆ _name

std::string FlowCanvas::Item::_name
protected

Referenced by name(), and set_name().

◆ _minimum_width

double FlowCanvas::Item::_minimum_width
protected

Referenced by set_minimum_width().

◆ _width

double FlowCanvas::Item::_width
protected

Referenced by point_is_within(), and width().

◆ _height

double FlowCanvas::Item::_height
protected

Referenced by height(), and point_is_within().

◆ _border_color

uint32_t FlowCanvas::Item::_border_color
protected

Referenced by set_border_color().

◆ _color

uint32_t FlowCanvas::Item::_color
protected

Referenced by base_color(), and set_base_color().

◆ _selected

bool FlowCanvas::Item::_selected
protected

Referenced by selected().


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