Panda3D

Classes | Public Member Functions | Friends | List of all members
WinStatsMonitor Class Reference

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

`#include "winStatsMonitor.h"`

Inheritance diagram for WinStatsMonitor:

## Classes
class | MenuDef

## Public Member Functions
| WinStatsMonitor (WinStatsServer *server)
int | get_menu_id (const MenuDef &menu_def)
| Returns the menu ID that is reserved for the indicated MenuDef properties. More...
virtual std::string | get_monitor_name ()
| Should be redefined to return a descriptive name for the type of PStatsMonitor this is. More...
HWND | get_window () const
| Returns the window handle to the monitor's window. More...
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. More...
virtual void | got_hello ()
| Called when the "hello" message has been received from the client. More...
virtual bool | has_idle ()
| Should be redefined to return true if you want to redefine idle() and expect it to be called. More...
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. More...
virtual void | initialized ()
| Called after the monitor has been fully set up. More...
const MenuDef & | lookup_menu (int menu_id) const
| Returns the MenuDef properties associated with the indicated menu ID. More...
virtual void | lost_connection ()
| Called whenever the connection to the client has been lost. More...
virtual void | new_collector (int collector_index)
| Called whenever a new Collector definition is received from the client. More...
virtual void | new_data (int thread_index, int frame_number)
| Called as each frame's data is made available. More...
virtual void | new_thread (int thread_index)
| Called whenever a new Thread definition is received from the client. More...
void | open_piano_roll (int thread_index)
| Opens a new piano roll showing the indicated data. More...
void | open_strip_chart (int thread_index, int collector_index, bool show_level)
| Opens a new strip chart showing the indicated data. More...
void | set_pause (bool pause)
| Called when the user selects a pause on or pause off option from the menu. More...
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. More...
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. More...
virtual void | user_guide_bars_changed ()
| Called when the user guide bars have been changed. More...
Public Member Functions inherited from PStatMonitor
| PStatMonitor (PStatServer *server)
void | bad_version (const std::string &hostname, const std::string &progname, int client_major, int client_minor, int server_major, int server_minor)
| Called shortly after startup time with the greeting from the client. More...
void | close ()
| Closes the client connection if it is active. More...
const PStatClientData * | get_client_data () const
| Returns the client data associated with this monitor. More...
std::string | get_client_hostname () const
| Returns the hostname of the client we're connected to, if known. More...
std::string | get_client_progname () const
| Returns the program name of the client we're connected to, if known. More...
const LRGBColor & | get_collector_color (int collector_index)
| Returns the color associated with the indicated collector. More...
std::string | get_collector_name (int collector_index)
| Returns the name of the indicated collector, if it is known. More...
PStatView & | get_level_view (int collector_index, int thread_index)
| Returns a view on the level value (as opposed to elapsed time) for the given collector over the given thread. More...
PStatServer * | get_server ()
| Returns the server that owns this monitor. More...
PStatView & | get_view (int thread_index)
| Returns a view on the given thread index. More...
void | hello_from (const std::string &hostname, const std::string &progname)
| Called shortly after startup time with the greeting from the client. More...
bool | is_alive () const
| Returns true if the client is alive and connected, false otherwise. More...
bool | is_client_known () const
| Returns true if we've yet received the "hello" message from the client indicating its name, etc. More...
virtual bool | is_thread_safe ()
| Should be redefined to return true if this monitor class can handle running in a sub-thread. More...
void | set_client_data (PStatClientData *client_data)
| Called by the PStatServer at setup time to set the new data pointer for the first time. More...
Public Member Functions inherited from ReferenceCount
int | get_ref_count () const
WeakReferenceList * | get_weak_list () const
| Returns the WeakReferenceList associated with this ReferenceCount object. More...
bool | has_weak_list () const
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More...
void | local_object ()
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More...
void | ref () const
| Explicitly increments the reference count. More...
bool | ref_if_nonzero () const
| Atomically increases the reference count of this object if it is not zero. More...
bool | test_ref_count_integrity () const
| Does some easy checks to make sure that the reference count isn't completely bogus. More...
bool | test_ref_count_nonzero () const
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
virtual bool | unref () const
| Explicitly decrements the reference count. More...
bool | unref_if_one () const
| Atomically decreases the reference count of this object if it is one. More...
WeakReferenceList * | weak_ref ()
| Adds the indicated PointerToVoid as a weak reference to this object. More...
void | weak_unref ()
| Removes the indicated PointerToVoid as a weak reference to this object. More...
Public Member Functions inherited from MemoryBase
void | operator delete (void *, void *)
void | operator delete (void *ptr)
void | operator delete[] (void *, void *)
void | operator delete[] (void *ptr)
void * | operator new (size_t size)
void * | operator new (size_t size, void *ptr)
void * | operator new[] (size_t size)
void * | operator new[] (size_t size, void *ptr)

## Friends
class | WinStatsGraph

## Additional Inherited Members
Static Public Member Functions inherited from ReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()
Public Attributes inherited from ReferenceCount
| get_ref_count
| Returns the current reference count. More...

## Detailed Description

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

Definition at line 38 of file winStatsMonitor.h.

## Member Function Documentation

## ◆ get_menu_id()

int WinStatsMonitor::get_menu_id | ( | const MenuDef & | menu_def | ) |

Returns the menu ID that is reserved for the indicated MenuDef properties.

If this is the first time these particular properties have been requested, a new menu ID is returned; otherwise, the existing menu ID is returned.

Definition at line 299 of file winStatsMonitor.cxx.

## ◆ get_monitor_name()

std::string WinStatsMonitor::get_monitor_name | ( |  | ) |
| virtual

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

Implements PStatMonitor.

Definition at line 74 of file winStatsMonitor.cxx.

## ◆ get_window()

HWND WinStatsMonitor::get_window | ( |  | ) | const

Returns the window handle to the monitor's window.

Definition at line 250 of file winStatsMonitor.cxx.

## ◆ got_bad_version()

void WinStatsMonitor::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 107 of file winStatsMonitor.cxx.

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

## ◆ got_hello()

void WinStatsMonitor::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 94 of file winStatsMonitor.cxx.

References open_strip_chart().

## ◆ has_idle()

bool WinStatsMonitor::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 230 of file winStatsMonitor.cxx.

## ◆ idle()

void WinStatsMonitor::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 201 of file winStatsMonitor.cxx.

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

## ◆ initialized()

void WinStatsMonitor::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 86 of file winStatsMonitor.cxx.

## ◆ lookup_menu()

const WinStatsMonitor::MenuDef & WinStatsMonitor::lookup_menu | ( | int | menu_id | ) | const

Returns the MenuDef properties associated with the indicated menu ID.

This specifies what we expect to do when the given menu has been selected.

Definition at line 286 of file winStatsMonitor.cxx.

## ◆ lost_connection()

void WinStatsMonitor::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 187 of file winStatsMonitor.cxx.

## ◆ new_collector()

void WinStatsMonitor::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 136 of file winStatsMonitor.cxx.

References WinStatsGraph::new_collector().

## ◆ new_data()

void WinStatsMonitor::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 172 of file winStatsMonitor.cxx.

References WinStatsGraph::new_data().

## ◆ new_thread()

void WinStatsMonitor::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 158 of file winStatsMonitor.cxx.

References WinStatsChartMenu::add_to_menu_bar().

## ◆ open_piano_roll()

void WinStatsMonitor::open_piano_roll | ( | int | thread_index | ) |

Opens a new piano roll showing the indicated data.

Definition at line 272 of file winStatsMonitor.cxx.

References WinStatsGraph::set_pause(), WinStatsGraph::set_scroll_speed(), and WinStatsPianoRoll::set_time_units().

## ◆ open_strip_chart()

void WinStatsMonitor::open_strip_chart | ( | int | thread_index,
|  | int | collector_index,
|  | bool | show_level
| ) |  |

Opens a new strip chart showing the indicated data.

Definition at line 258 of file winStatsMonitor.cxx.

References WinStatsGraph::set_pause(), WinStatsStripChart::set_scroll_speed(), and WinStatsStripChart::set_time_units().

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

## ◆ set_pause()

void WinStatsMonitor::set_pause | ( | bool | pause | ) |

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

Definition at line 391 of file winStatsMonitor.cxx.

References WinStatsGraph::set_pause().

## ◆ set_scroll_speed()

void WinStatsMonitor::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 350 of file winStatsMonitor.cxx.

References WinStatsGraph::set_scroll_speed().

## ◆ set_time_units()

void WinStatsMonitor::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 320 of file winStatsMonitor.cxx.

References WinStatsGraph::set_time_units().

## ◆ user_guide_bars_changed()

void WinStatsMonitor::user_guide_bars_changed | ( |  | ) |
| virtual

Called when the user guide bars have been changed.

Reimplemented from PStatMonitor.

Definition at line 238 of file winStatsMonitor.cxx.

References WinStatsGraph::user_guide_bars_changed().

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

- pandatool/src/win-stats/winStatsMonitor.h
- pandatool/src/win-stats/winStatsMonitor.cxx