Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PStatGraph Class Reference

This is an abstract base class for several different kinds of graphs that have a few things in common, like labels and guide bars. More...

#include <pStatGraph.h>

Inheritance diagram for PStatGraph:

PStatPianoRoll PStatStripChart GtkStatsPianoRoll GtkStatsStripChart List of all members.

Public Types

enum  GuideBarUnits { GBU_hz = 0x0001, GBU_ms = 0x0002, GBU_named = 0x0004, GBU_show_units = 0x0008 }

Public Member Functions

 PStatGraph (PStatMonitor *monitor, int xsize, int ysize)
virtual ~PStatGraph ()
PStatMonitorget_monitor () const
 Returns the monitor associated with this chart.

int get_num_labels () const
 Returns the number of labels to be drawn for this chart.

int get_label_collector (int n) const
 Returns the collector index associated with the nth label.

string get_label_name (int n) const
 Returns the text associated with the nth label.

RGBColorf get_label_color (int n) const
 Returns the color associated with the nth label.

void set_target_frame_rate (float frame_rate)
 Sets the target frame rate of the application in Hz.

float get_target_frame_rate () const
 Returns the indicated target frame rate in Hz.

int get_xsize () const
 Returns the width of the chart in pixels.

int get_ysize () const
 Returns the height of the chart in pixels.

int get_num_guide_bars () const
 Returns the number of horizontal guide bars that should be drawn, based on the indicated target frame rate.

const GuideBarget_guide_bar (int n) const
 Returns the nth horizontal guide bar.

void set_guide_bar_units (int unit_mask)
 Sets the units that are displayed for the guide bar labels.

int get_guide_bar_units () const
 Returns the units that are displayed for the guide bar labels.

void set_guide_bar_unit_name (const string &unit_name)
 Sets the name of the units to be used for the guide bars if the units type is set to GBU_named | GBU_show_units.

const string & get_guide_bar_unit_name () const
 Returns the name of the units to be used for the guide bars if the units type is set to GBU_named | GBU_show_units.


Static Public Member Functions

string format_number (float value)
 Returns a string representing the value nicely formatted for its range.

string format_number (float value, int guide_bar_units, const string &unit_name=string())
 Returns a string representing the value nicely formatted for its range, including the units as indicated.


Protected Types

typedef vector_int Labels
typedef pvector< GuideBarGuideBars

Protected Member Functions

virtual void normal_guide_bars ()=0
void update_guide_bars (int num_bars, float scale)
 Resets the list of guide bars.

GuideBar make_guide_bar (float value) const
 Makes a guide bar for the indicated elapsed time or level units.


Protected Attributes

bool _labels_changed
bool _guide_bars_changed
PointerTo< PStatMonitor_monitor
float _target_frame_rate
int _xsize
int _ysize
Labels _labels
GuideBars _guide_bars
int _guide_bar_units
string _unit_name

Detailed Description

This is an abstract base class for several different kinds of graphs that have a few things in common, like labels and guide bars.

Definition at line 48 of file pStatGraph.h.


Member Typedef Documentation

typedef pvector<GuideBar> PStatGraph::GuideBars [protected]
 

Definition at line 115 of file pStatGraph.h.

typedef vector_int PStatGraph::Labels [protected]
 

Definition at line 112 of file pStatGraph.h.


Member Enumeration Documentation

enum PStatGraph::GuideBarUnits
 

Enumeration values:
GBU_hz 
GBU_ms 
GBU_named 
GBU_show_units 

Definition at line 76 of file pStatGraph.h.


Constructor & Destructor Documentation

PStatGraph::PStatGraph PStatMonitor monitor,
int  xsize,
int  ysize
 

Definition at line 69 of file pStatGraph.cxx.

PStatGraph::~PStatGraph  )  [virtual]
 

Definition at line 88 of file pStatGraph.cxx.

References _guide_bars.


Member Function Documentation

string PStatGraph::format_number float  value,
int  guide_bar_units,
const string &  unit_name = string()
[static]
 

Returns a string representing the value nicely formatted for its range, including the units as indicated.

Definition at line 182 of file pStatGraph.cxx.

string PStatGraph::format_number float  value  )  [static]
 

Returns a string representing the value nicely formatted for its range.

Definition at line 151 of file pStatGraph.cxx.

References GBU_show_units.

Referenced by update_guide_bars().

const PStatGraph::GuideBar & PStatGraph::get_guide_bar int  n  )  const
 

Returns the nth horizontal guide bar.

This should be drawn as a horizontal line across the chart at the y pixel location determined by height_to_pixel(bar._height).

It is possible that this bar will be off the top of the chart.

Definition at line 131 of file pStatGraph.cxx.

const string & PStatGraph::get_guide_bar_unit_name  )  const [inline]
 

Returns the name of the units to be used for the guide bars if the units type is set to GBU_named | GBU_show_units.

Definition at line 223 of file pStatGraph.I.

int PStatGraph::get_guide_bar_units  )  const [inline]
 

Returns the units that are displayed for the guide bar labels.

This may be a union of one or more members of the GuideBarUnits enum.

Definition at line 189 of file pStatGraph.I.

int PStatGraph::get_label_collector int  n  )  const [inline]
 

Returns the collector index associated with the nth label.

Definition at line 62 of file pStatGraph.I.

Referenced by GtkStatsPianoRoll::begin_draw().

RGBColorf PStatGraph::get_label_color int  n  )  const [inline]
 

Returns the color associated with the nth label.

Definition at line 90 of file pStatGraph.I.

References _target_frame_rate, and INLINE.

string PStatGraph::get_label_name int  n  )  const [inline]
 

Returns the text associated with the nth label.

Definition at line 76 of file pStatGraph.I.

References _target_frame_rate, INLINE, and normal_guide_bars().

PStatMonitor * PStatGraph::get_monitor  )  const [inline]
 

Returns the monitor associated with this chart.

Definition at line 32 of file pStatGraph.I.

References _labels, and INLINE.

Referenced by GtkStatsStripChart::get_labels(), and PStatStripChart::new_data().

int PStatGraph::get_num_guide_bars  )  const
 

Returns the number of horizontal guide bars that should be drawn, based on the indicated target frame rate.

Not all of these may be visible; some may be off the top of the chart because of the vertical scale.

Definition at line 108 of file pStatGraph.cxx.

References _guide_bars.

int PStatGraph::get_num_labels  )  const [inline]
 

Returns the number of labels to be drawn for this chart.

Definition at line 47 of file pStatGraph.I.

References _labels, INLINE, and nassertr.

float PStatGraph::get_target_frame_rate  )  const [inline]
 

Returns the indicated target frame rate in Hz.

See set_target_frame_rate().

Definition at line 126 of file pStatGraph.I.

References _guide_bar_units, INLINE, and normal_guide_bars().

int PStatGraph::get_xsize void   )  const [inline]
 

Returns the width of the chart in pixels.

Definition at line 139 of file pStatGraph.I.

References _guide_bar_units, and INLINE.

Referenced by GtkStatsStripChart::end_draw(), GtkStatsStripChart::get_collector_gc(), GtkStatsStripWindow::menu_hscale(), and PStatStripChart::set_scroll_mode().

int PStatGraph::get_ysize void   )  const [inline]
 

Returns the height of the chart in pixels.

Definition at line 152 of file pStatGraph.I.

References _unit_name, and INLINE.

Referenced by GtkStatsStripChart::copy_region(), GtkStatsStripChart::draw_slice(), GtkStatsStripChart::end_draw(), GtkStatsStripChart::get_collector_gc(), PStatStripChart::get_scroll_mode(), and GtkStatsStripWindow::menu_hscale().

PStatGraph::GuideBar PStatGraph::make_guide_bar float  value  )  const [protected]
 

Makes a guide bar for the indicated elapsed time or level units.

Definition at line 289 of file pStatGraph.cxx.

virtual void PStatGraph::normal_guide_bars  )  [protected, pure virtual]
 

Implemented in PStatPianoRoll, and PStatStripChart.

Referenced by get_label_name(), and get_target_frame_rate().

void PStatGraph::set_guide_bar_unit_name const string &  unit_name  )  [inline]
 

Sets the name of the units to be used for the guide bars if the units type is set to GBU_named | GBU_show_units.

Definition at line 206 of file pStatGraph.I.

void PStatGraph::set_guide_bar_units int  unit_mask  )  [inline]
 

Sets the units that are displayed for the guide bar labels.

This may be a union of one or more members of the GuideBarUnits enum.

Definition at line 169 of file pStatGraph.I.

References _unit_name.

void PStatGraph::set_target_frame_rate float  frame_rate  )  [inline]
 

Sets the target frame rate of the application in Hz.

This only affects the choice of initial scale and the placement of guide bars.

Definition at line 108 of file pStatGraph.I.

References _xsize.

void PStatGraph::update_guide_bars int  num_bars,
float  scale
[protected]
 

Resets the list of guide bars.

Definition at line 247 of file pStatGraph.cxx.

References _guide_bar_units, _target_frame_rate, _unit_name, format_number(), GBU_named, and IS_NEARLY_EQUAL.


Member Data Documentation

int PStatGraph::_guide_bar_units [protected]
 

Definition at line 117 of file pStatGraph.h.

Referenced by get_target_frame_rate(), get_xsize(), PStatStripChart::PStatStripChart(), and update_guide_bars().

GuideBars PStatGraph::_guide_bars [protected]
 

Definition at line 116 of file pStatGraph.h.

Referenced by get_num_guide_bars(), and ~PStatGraph().

bool PStatGraph::_guide_bars_changed [protected]
 

Definition at line 101 of file pStatGraph.h.

Referenced by GtkStatsStripChart::draw_cursor().

Labels PStatGraph::_labels [protected]
 

Definition at line 113 of file pStatGraph.h.

Referenced by PStatStripChart::draw_slice(), PStatPianoRoll::end_draw(), get_monitor(), and get_num_labels().

bool PStatGraph::_labels_changed [protected]
 

Definition at line 100 of file pStatGraph.h.

Referenced by PStatPianoRoll::end_draw().

PointerTo< PStatMonitor > PStatGraph::_monitor [protected]
 

Definition at line 103 of file pStatGraph.h.

Referenced by PStatGraph::GuideBar::GuideBar(), PStatPianoRoll::PStatPianoRoll(), and PStatStripChart::PStatStripChart().

float PStatGraph::_target_frame_rate [protected]
 

Definition at line 105 of file pStatGraph.h.

Referenced by get_label_color(), get_label_name(), and update_guide_bars().

string PStatGraph::_unit_name [protected]
 

Definition at line 118 of file pStatGraph.h.

Referenced by get_ysize(), PStatStripChart::PStatStripChart(), set_guide_bar_units(), and update_guide_bars().

int PStatGraph::_xsize [protected]
 

Definition at line 107 of file pStatGraph.h.

Referenced by PStatStripChart::get_frame_data(), PStatPianoRoll::get_horizontal_scale(), PStatGraph::GuideBar::GuideBar(), PStatStripChart::idle(), PStatStripChart::set_default_vertical_scale(), set_target_frame_rate(), and PStatPianoRoll::update().

int PStatGraph::_ysize [protected]
 

Definition at line 108 of file pStatGraph.h.

Referenced by PStatStripChart::get_frame_data(), PStatGraph::GuideBar::GuideBar(), and PStatPianoRoll::update().


The documentation for this class was generated from the following files:
Generated on Fri May 2 03:27:49 2003 for Panda-Tool by doxygen1.3