Fawkes API  Fawkes Development Version
SkillGuiGraphDrawingArea Class Reference

Graph drawing area. More...

#include "graph_drawing_area.h"

Inheritance diagram for SkillGuiGraphDrawingArea:

List of all members.

Public Member Functions

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

Protected Member Functions

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

Detailed Description

Graph drawing area.

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

Author:
Tim Niemueller

Constructor & Destructor Documentation

SkillGuiGraphDrawingArea::SkillGuiGraphDrawingArea ( )

Constructor.

Definition at line 36 of file graph_drawing_area.cpp.

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


Member Function Documentation

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 352 of file graph_drawing_area.cpp.

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 271 of file graph_drawing_area.cpp.

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 210 of file graph_drawing_area.cpp.

double SkillGuiGraphDrawingArea::get_scale ( ) [virtual]

Get scale.

To be called only by the Graphviz plugin.

Returns:
scale value

Implements SkillGuiCairoRenderInstructor.

Definition at line 249 of file graph_drawing_area.cpp.

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 259 of file graph_drawing_area.cpp.

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 363 of file graph_drawing_area.cpp.

bool SkillGuiGraphDrawingArea::on_button_press_event ( GdkEventButton *  event) [protected, virtual]

Button press event handler.

Parameters:
eventevent data
Returns:
true

Definition at line 593 of file graph_drawing_area.cpp.

Referenced by SkillGuiGraphDrawingArea().

bool SkillGuiGraphDrawingArea::on_expose_event ( GdkEventExpose *  event) [protected, virtual]

Expose event handler.

Parameters:
eventevent info structure.
Returns:
signal return value

Definition at line 540 of file graph_drawing_area.cpp.

Referenced by SkillGuiGraphDrawingArea().

bool SkillGuiGraphDrawingArea::on_motion_notify_event ( GdkEventMotion *  event) [protected, virtual]

Mouse motion notify event handler.

Parameters:
eventevent data
Returns:
true

Definition at line 606 of file graph_drawing_area.cpp.

Referenced by SkillGuiGraphDrawingArea().

bool SkillGuiGraphDrawingArea::on_scroll_event ( GdkEventScroll *  event) [protected, virtual]

Scroll event handler.

Parameters:
eventevent structure
Returns:
signal return value

Definition at line 577 of file graph_drawing_area.cpp.

References zoom_in(), and zoom_out().

void SkillGuiGraphDrawingArea::open ( )

Open a dot graph and display it.

Definition at line 504 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().

void SkillGuiGraphDrawingArea::save ( )

save current graph.

Definition at line 428 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().

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 340 of file graph_drawing_area.cpp.

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 184 of file graph_drawing_area.cpp.

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

Set graph.

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

Definition at line 145 of file graph_drawing_area.cpp.

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 128 of file graph_drawing_area.cpp.

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 197 of file graph_drawing_area.cpp.

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 408 of file graph_drawing_area.cpp.

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 239 of file graph_drawing_area.cpp.

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 227 of file graph_drawing_area.cpp.

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 373 of file graph_drawing_area.cpp.

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

Get "update disabled" signal.

Returns:
"update disabled" signal

Definition at line 118 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().

void SkillGuiGraphDrawingArea::zoom_fit ( )

Zoom to fit.

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

Definition at line 314 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().

void SkillGuiGraphDrawingArea::zoom_in ( )

Zoom in.

Increases zoom factor by 20, no upper limit.

Definition at line 283 of file graph_drawing_area.cpp.

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

void SkillGuiGraphDrawingArea::zoom_out ( )

Zoom out.

Decreases zoom factor by 20 with a minimum of 1.

Definition at line 297 of file graph_drawing_area.cpp.

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

void SkillGuiGraphDrawingArea::zoom_reset ( )

Zoom reset.

Reset zoom to 1. Enables scale override.

Definition at line 325 of file graph_drawing_area.cpp.

Referenced by SkillGuiGtkWindow::SkillGuiGtkWindow().


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