15 #ifndef GTKSTATSMONITOR_H
16 #define GTKSTATSMONITOR_H
18 #include "pandatoolbase.h"
20 #include "gtkStatsGraph.h"
21 #include "pStatMonitor.h"
22 #include "pointerTo.h"
41 INLINE
MenuDef(
int thread_index,
int collector_index,
bool show_level);
42 INLINE
bool operator < (
const MenuDef &other)
const;
58 int server_major,
int server_minor);
61 virtual void new_data(
int thread_index,
int frame_number);
69 void open_strip_chart(
int thread_index,
int collector_index,
bool show_level);
84 static gboolean window_delete_event(GtkWidget *widget, GdkEvent *event,
86 static void window_destroy(GtkWidget *widget, gpointer data);
87 void setup_frame_rate_label();
89 static void handle_menu_command(gpointer callback_data, guint menu_id, GtkWidget *widget);
101 GtkItemFactory *_item_factory;
102 int _next_chart_index;
103 GtkWidget *_frame_rate_menu_item;
104 GtkWidget *_frame_rate_label;
105 string _window_title;
107 double _scroll_speed;
110 static GtkItemFactoryEntry menu_entries[];
111 static int num_menu_entries;
116 #include "gtkStatsMonitor.I"
virtual void new_thread(int thread_index)
Called whenever a new Thread definition is received from the client.
virtual void got_hello()
Called when the "hello" message has been received from the client.
void open_piano_roll(int thread_index)
Opens a new piano roll showing the indicated data.
The class that owns the main loop, waiting for client connections.
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 user_guide_bars_changed()
Called when the user guide bars have been changed.
This is an abstract class that presents the interface to any number of different front-ends for the s...
This is just an abstract base class to provide a common pointer type for the various kinds of graphs ...
const MenuDef * 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...
This class represents a connection to a PStatsClient and manages the data exchange with the client...
void open_strip_chart(int thread_index, int collector_index, bool show_level)
Opens a new strip chart showing the indicated data.
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 ...
virtual void initialized()
Called after the monitor has been fully set up.
virtual void new_data(int thread_index, int frame_number)
Called as each frame's data is made available.
virtual void lost_connection()
Called whenever the connection to the client has been lost.
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 displ...
void set_scroll_speed(double scroll_speed)
Called when the user selects a new scroll speed from the monitor pulldown menu, this should adjust th...
virtual void new_collector(int collector_index)
Called whenever a new Collector definition is received from the client.
void set_pause(bool pause)
Called when the user selects a pause on or pause off option from the menu.