Fawkes API  Fawkes Development Version
SkillGuiGraphDrawingArea Class Reference

Graph drawing area. More...

#include "graph_drawing_area.h"

Inheritance diagram for SkillGuiGraphDrawingArea:

Public Member Functions

 SkillGuiGraphDrawingArea ()
 Constructor. More...
 
void save ()
 save current graph. More...
 
void open ()
 Open a dot graph and display it. More...
 
bool set_recording (bool recording)
 Enable/disable recording. More...
 
void zoom_in ()
 Zoom in. More...
 
void zoom_out ()
 Zoom out. More...
 
void zoom_fit ()
 Zoom to fit. More...
 
void zoom_reset ()
 Zoom reset. More...
 
void set_graph_fsm (std::string fsm_name)
 Set graph's FSM name. More...
 
void set_graph (std::string graph)
 Set graph. More...
 
void set_bb (double bbw, double bbh)
 Set bounding box. More...
 
void set_pad (double pad_x, double pad_y)
 Set padding. More...
 
void set_translation (double tx, double ty)
 Set translation. More...
 
void set_scale (double scale)
 Set scale. More...
 
bool scale_override ()
 Check if scale override is enabled. More...
 
double get_scale ()
 Get scale. More...
 
void get_translation (double &tx, double &ty)
 Get translation. More...
 
void get_dimensions (double &width, double &height)
 Get dimensions. More...
 
void get_pad (double &pad_x, double &pad_y)
 Get padding. More...
 
Cairo::RefPtr< Cairo::Context > get_cairo ()
 Get Cairo context. More...
 
bool get_update_graph ()
 Check if graph is being updated. More...
 
void set_update_graph (bool update)
 Set if the graph should be updated on new data. More...
 
sigc::signal< void > signal_update_disabled ()
 Get "update disabled" signal. More...
 
- Public Member Functions inherited from SkillGuiCairoRenderInstructor
virtual ~SkillGuiCairoRenderInstructor ()
 Empty virtual destructor. More...
 

Protected Member Functions

virtual bool on_expose_event (GdkEventExpose *event)
 Expose event handler. More...
 
virtual bool on_scroll_event (GdkEventScroll *event)
 Scroll event handler. More...
 
virtual bool on_button_press_event (GdkEventButton *event)
 Button press event handler. More...
 
virtual bool on_motion_notify_event (GdkEventMotion *event)
 Mouse motion notify event handler. More...
 

Detailed Description

Graph drawing area.

Derived version of Gtk::DrawingArea that renders a graph via Graphviz.

Author
Tim Niemueller

Definition at line 33 of file graph_drawing_area.h.

Constructor & Destructor Documentation

◆ SkillGuiGraphDrawingArea()

SkillGuiGraphDrawingArea::SkillGuiGraphDrawingArea ( )

Constructor.

Definition at line 37 of file graph_drawing_area.cpp.

References on_button_press_event(), on_expose_event(), and on_motion_notify_event().

Member Function Documentation

◆ get_cairo()

Cairo::RefPtr< Cairo::Context > SkillGuiGraphDrawingArea::get_cairo ( )
virtual

Get Cairo context.

This is only valid during the expose event and is only meant for the Graphviz plugin.

Returns
Cairo context

Implements SkillGuiCairoRenderInstructor.

Definition at line 386 of file graph_drawing_area.cpp.

◆ get_dimensions()

void SkillGuiGraphDrawingArea::get_dimensions ( double &  width,
double &  height 
)
virtual

Get dimensions.

Parameters
widthupon return contains width
heightupon return contains height

Implements SkillGuiCairoRenderInstructor.

Definition at line 305 of file graph_drawing_area.cpp.

◆ get_pad()

void SkillGuiGraphDrawingArea::get_pad ( double &  pad_x,
double &  pad_y 
)
virtual

Get padding.

To be called only by the Graphviz plugin.

Parameters
pad_xupon return contains padding in x
pad_yupon return contains padding in y

Implements SkillGuiCairoRenderInstructor.

Definition at line 244 of file graph_drawing_area.cpp.

◆ get_scale()

double SkillGuiGraphDrawingArea::get_scale ( )
virtual

Get scale.

To be called only by the Graphviz plugin.

Returns
scale value

Implements SkillGuiCairoRenderInstructor.

Definition at line 283 of file graph_drawing_area.cpp.

◆ get_translation()

void SkillGuiGraphDrawingArea::get_translation ( double &  tx,
double &  ty 
)
virtual

Get translation.

Parameters
txupon return contains translation value
tyupon return contains translation value

Implements SkillGuiCairoRenderInstructor.

Definition at line 293 of file graph_drawing_area.cpp.

◆ get_update_graph()

bool SkillGuiGraphDrawingArea::get_update_graph ( )

Check if graph is being updated.

Returns
true if the graph will be update if new data is received, false otherwise

Definition at line 397 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::~SkillGuiGtkWindow().

◆ on_button_press_event()

bool SkillGuiGraphDrawingArea::on_button_press_event ( GdkEventButton *  event)
protectedvirtual

Button press event handler.

Parameters
eventevent data
Returns
true

Definition at line 643 of file graph_drawing_area.cpp.

Referenced by SkillGuiGraphDrawingArea().

◆ on_expose_event()

bool SkillGuiGraphDrawingArea::on_expose_event ( GdkEventExpose *  event)
protectedvirtual

Expose event handler.

Parameters
eventevent info structure.
Returns
signal return value

Definition at line 586 of file graph_drawing_area.cpp.

Referenced by SkillGuiGraphDrawingArea().

◆ on_motion_notify_event()

bool SkillGuiGraphDrawingArea::on_motion_notify_event ( GdkEventMotion *  event)
protectedvirtual

Mouse motion notify event handler.

Parameters
eventevent data
Returns
true

Definition at line 656 of file graph_drawing_area.cpp.

Referenced by SkillGuiGraphDrawingArea().

◆ on_scroll_event()

bool SkillGuiGraphDrawingArea::on_scroll_event ( GdkEventScroll *  event)
protectedvirtual

Scroll event handler.

Parameters
eventevent structure
Returns
signal return value

Definition at line 627 of file graph_drawing_area.cpp.

References zoom_in(), and zoom_out().

◆ open()

void SkillGuiGraphDrawingArea::open ( )

Open a dot graph and display it.

Definition at line 542 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().

◆ save()

void SkillGuiGraphDrawingArea::save ( )

save current graph.

Definition at line 462 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().

◆ scale_override()

bool SkillGuiGraphDrawingArea::scale_override ( )
virtual

Check if scale override is enabled.

Returns
true if scale override is enabled, false otherwise

Implements SkillGuiCairoRenderInstructor.

Definition at line 374 of file graph_drawing_area.cpp.

◆ set_bb()

void SkillGuiGraphDrawingArea::set_bb ( double  bbw,
double  bbh 
)
virtual

Set bounding box.

To be called only by the Graphviz plugin.

Parameters
bbwbounding box width
bbhbounding box height

Implements SkillGuiCairoRenderInstructor.

Definition at line 218 of file graph_drawing_area.cpp.

◆ set_graph()

void SkillGuiGraphDrawingArea::set_graph ( std::string  graph)

Set graph.

Parameters
graphstring representation of the current graph in the dot language.

Definition at line 171 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::~SkillGuiGtkWindow().

◆ set_graph_fsm()

void SkillGuiGraphDrawingArea::set_graph_fsm ( std::string  fsm_name)

Set graph's FSM name.

Parameters
fsm_namename of FSM the graph belongs to

Definition at line 154 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::~SkillGuiGtkWindow().

◆ set_pad()

void SkillGuiGraphDrawingArea::set_pad ( double  pad_x,
double  pad_y 
)
virtual

Set padding.

To be called only by the Graphviz plugin.

Parameters
pad_xpadding in x
pad_ypadding in y

Implements SkillGuiCairoRenderInstructor.

Definition at line 231 of file graph_drawing_area.cpp.

◆ set_recording()

bool SkillGuiGraphDrawingArea::set_recording ( bool  recording)

Enable/disable recording.

Parameters
recordingtrue to enable recording, false otherwise
Returns
true if recording is enabled now, false if it is disabled. Enabling the recording may fail for example if the user chose to abort the directory creation process.

Definition at line 442 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::~SkillGuiGtkWindow().

◆ set_scale()

void SkillGuiGraphDrawingArea::set_scale ( double  scale)
virtual

Set scale.

To be called only by the Graphviz plugin.

Parameters
scalescale value

Implements SkillGuiCairoRenderInstructor.

Definition at line 273 of file graph_drawing_area.cpp.

◆ set_translation()

void SkillGuiGraphDrawingArea::set_translation ( double  tx,
double  ty 
)
virtual

Set translation.

To be called only by the Graphviz plugin.

Parameters
txtranslation in x
tytranslation in y

Implements SkillGuiCairoRenderInstructor.

Definition at line 261 of file graph_drawing_area.cpp.

◆ set_update_graph()

void SkillGuiGraphDrawingArea::set_update_graph ( bool  update)

Set if the graph should be updated on new data.

Parameters
updatetrue to update on new data, false to disable update

Definition at line 407 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::~SkillGuiGtkWindow().

◆ signal_update_disabled()

sigc::signal< void > SkillGuiGraphDrawingArea::signal_update_disabled ( )

Get "update disabled" signal.

Returns
"update disabled" signal

Definition at line 144 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().

◆ zoom_fit()

void SkillGuiGraphDrawingArea::zoom_fit ( )

Zoom to fit.

Disables scale override and draws with values suggested by Graphviz plugin.

Definition at line 348 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().

◆ zoom_in()

void SkillGuiGraphDrawingArea::zoom_in ( )

Zoom in.

Increases zoom factor by 20, no upper limit.

Definition at line 317 of file graph_drawing_area.cpp.

Referenced by on_scroll_event(), and SkillGuiGtkWindow::SkillGuiGtkWindow().

◆ zoom_out()

void SkillGuiGraphDrawingArea::zoom_out ( )

Zoom out.

Decreases zoom factor by 20 with a minimum of 1.

Definition at line 331 of file graph_drawing_area.cpp.

Referenced by on_scroll_event(), and SkillGuiGtkWindow::SkillGuiGtkWindow().

◆ zoom_reset()

void SkillGuiGraphDrawingArea::zoom_reset ( )

Zoom reset.

Reset zoom to 1. Enables scale override.

Definition at line 359 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().


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