Panda3D
Classes | Public Member Functions | Friends

GtkStatsMonitor Class Reference

This class represents a connection to a PStatsClient and manages the data exchange with the client. More...

#include "gtkStatsMonitor.h"

Inheritance diagram for GtkStatsMonitor:
PStatMonitor ReferenceCount MemoryBase

List of all members.

Classes

class  MenuDef

Public Member Functions

 GtkStatsMonitor (GtkStatsServer *server)
const MenuDefadd_menu (const MenuDef &menu_def)
 Adds a new MenuDef to the monitor, or returns an existing one if there is already one just like it.
virtual string get_monitor_name ()
 Should be redefined to return a descriptive name for the type of PStatsMonitor this is.
GtkWidget * get_window () const
 Returns the window handle to the monitor's window.
virtual void got_bad_version (int client_major, int client_minor, int server_major, int server_minor)
 Like got_hello(), this is called when the "hello" message has been received from the client.
virtual void got_hello ()
 Called when the "hello" message has been received from the client.
virtual bool has_idle ()
 Should be redefined to return true if you want to redefine idle() and expect it to be called.
virtual void idle ()
 If has_idle() returns true, this will be called periodically to allow the monitor to update its display or whatever it needs to do.
virtual void initialized ()
 Called after the monitor has been fully set up.
virtual void lost_connection ()
 Called whenever the connection to the client has been lost.
virtual void new_collector (int collector_index)
 Called whenever a new Collector definition is received from the client.
virtual void new_data (int thread_index, int frame_number)
 Called as each frame's data is made available.
virtual void new_thread (int thread_index)
 Called whenever a new Thread definition is received from the client.
void open_piano_roll (int thread_index)
 Opens a new piano roll showing the indicated data.
void open_strip_chart (int thread_index, int collector_index, bool show_level)
 Opens a new strip chart showing the indicated data.
void set_pause (bool pause)
 Called when the user selects a pause on or pause off option from the menu.
void set_scroll_speed (double scroll_speed)
 Called when the user selects a new scroll speed from the monitor pulldown menu, this should adjust the speeds for all graphs to the indicated value.
void set_time_units (int unit_mask)
 Called when the user selects a new time units from the monitor pulldown menu, this should adjust the units for all graphs to the indicated mask if it is a time-based graph.
virtual void user_guide_bars_changed ()
 Called when the user guide bars have been changed.

Friends

class GtkStatsGraph

Detailed Description

This class represents a connection to a PStatsClient and manages the data exchange with the client.

Definition at line 37 of file gtkStatsMonitor.h.


Member Function Documentation

const GtkStatsMonitor::MenuDef * GtkStatsMonitor::add_menu ( const MenuDef menu_def)

Adds a new MenuDef to the monitor, or returns an existing one if there is already one just like it.

Definition at line 328 of file gtkStatsMonitor.cxx.

Referenced by GtkStatsChartMenu::do_update().

string GtkStatsMonitor::get_monitor_name ( ) [virtual]

Should be redefined to return a descriptive name for the type of PStatsMonitor this is.

Implements PStatMonitor.

Definition at line 78 of file gtkStatsMonitor.cxx.

GtkWidget * GtkStatsMonitor::get_window ( ) const

Returns the window handle to the monitor's window.

Definition at line 286 of file gtkStatsMonitor.cxx.

void GtkStatsMonitor::got_bad_version ( int  client_major,
int  client_minor,
int  server_major,
int  server_minor 
) [virtual]

Like got_hello(), this is called when the "hello" message has been received from the client.

At this time, the client's hostname and program name will be known. However, the client appears to be an incompatible version and the connection will be terminated; the monitor should issue a message to that effect.

Reimplemented from PStatMonitor.

Definition at line 122 of file gtkStatsMonitor.cxx.

References PStatMonitor::get_client_hostname(), and PStatMonitor::get_client_progname().

void GtkStatsMonitor::got_hello ( ) [virtual]

Called when the "hello" message has been received from the client.

At this time, the client's hostname and program name will be known.

Reimplemented from PStatMonitor.

Definition at line 105 of file gtkStatsMonitor.cxx.

References open_strip_chart().

bool GtkStatsMonitor::has_idle ( ) [virtual]

Should be redefined to return true if you want to redefine idle() and expect it to be called.

Reimplemented from PStatMonitor.

Definition at line 262 of file gtkStatsMonitor.cxx.

void GtkStatsMonitor::idle ( ) [virtual]

If has_idle() returns true, this will be called periodically to allow the monitor to update its display or whatever it needs to do.

Reimplemented from PStatMonitor.

Definition at line 237 of file gtkStatsMonitor.cxx.

References PStatMonitor::get_client_data(), PStatThreadData::get_frame_rate(), and PStatClientData::get_thread_data().

void GtkStatsMonitor::initialized ( ) [virtual]

Called after the monitor has been fully set up.

At this time, it will have a valid _client_data pointer, and things like is_alive() and close() will be meaningful. However, we may not yet know who we're connected to (is_client_known() may return false), and we may not know anything about the threads or collectors we're about to get data on.

Reimplemented from PStatMonitor.

Definition at line 94 of file gtkStatsMonitor.cxx.

void GtkStatsMonitor::lost_connection ( ) [virtual]

Called whenever the connection to the client has been lost.

This is a permanent state change. The monitor should update its display to represent this, and may choose to close down automatically.

Reimplemented from PStatMonitor.

Definition at line 223 of file gtkStatsMonitor.cxx.

References PStatMonitor::get_client_hostname().

void GtkStatsMonitor::new_collector ( int  collector_index) [virtual]

Called whenever a new Collector definition is received from the client.

Generally, the client will send all of its collectors over shortly after connecting, but there's no guarantee that they will all be received before the first frames are received. The monitor should be prepared to accept new Collector definitions midstream.

Reimplemented from PStatMonitor.

Definition at line 161 of file gtkStatsMonitor.cxx.

References GtkStatsGraph::new_collector().

void GtkStatsMonitor::new_data ( int  thread_index,
int  frame_number 
) [virtual]

Called as each frame's data is made available.

There is no guarantee the frames will arrive in order, or that all of them will arrive at all. The monitor should be prepared to accept frames received out-of-order or missing.

Reimplemented from PStatMonitor.

Definition at line 205 of file gtkStatsMonitor.cxx.

References GtkStatsGraph::new_data().

void GtkStatsMonitor::new_thread ( int  thread_index) [virtual]

Called whenever a new Thread definition is received from the client.

Generally, the client will send all of its threads over shortly after connecting, but there's no guarantee that they will all be received before the first frames are received. The monitor should be prepared to accept new Thread definitions midstream.

Reimplemented from PStatMonitor.

Definition at line 187 of file gtkStatsMonitor.cxx.

References GtkStatsChartMenu::add_to_menu_bar().

void GtkStatsMonitor::open_piano_roll ( int  thread_index)

Opens a new piano roll showing the indicated data.

Definition at line 312 of file gtkStatsMonitor.cxx.

References GtkStatsGraph::set_pause(), GtkStatsGraph::set_scroll_speed(), and GtkStatsPianoRoll::set_time_units().

void GtkStatsMonitor::open_strip_chart ( int  thread_index,
int  collector_index,
bool  show_level 
)

Opens a new strip chart showing the indicated data.

Definition at line 296 of file gtkStatsMonitor.cxx.

References GtkStatsGraph::set_pause(), GtkStatsStripChart::set_scroll_speed(), and GtkStatsStripChart::set_time_units().

Referenced by GtkStatsPianoRoll::clicked_label(), and got_hello().

void GtkStatsMonitor::set_pause ( bool  pause)

Called when the user selects a pause on or pause off option from the menu.

Definition at line 385 of file gtkStatsMonitor.cxx.

References GtkStatsGraph::set_pause().

void GtkStatsMonitor::set_scroll_speed ( double  scroll_speed)

Called when the user selects a new scroll speed from the monitor pulldown menu, this should adjust the speeds for all graphs to the indicated value.

Definition at line 367 of file gtkStatsMonitor.cxx.

References GtkStatsGraph::set_scroll_speed().

void GtkStatsMonitor::set_time_units ( int  unit_mask)

Called when the user selects a new time units from the monitor pulldown menu, this should adjust the units for all graphs to the indicated mask if it is a time-based graph.

Definition at line 348 of file gtkStatsMonitor.cxx.

References GtkStatsGraph::set_time_units().

void GtkStatsMonitor::user_guide_bars_changed ( ) [virtual]

Called when the user guide bars have been changed.

Reimplemented from PStatMonitor.

Definition at line 272 of file gtkStatsMonitor.cxx.

References GtkStatsGraph::user_guide_bars_changed().


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations