The gscope library consists of the GtkScope and GtkScopeApp widgets and the Gscope object for managing the widgets. The key features of the widgets and the Gscope object are described below.
The GtkScope canvas displays the signal data. It is surrounded by an x-axis and a y-axis ruler. The GtkScope can be either in polling or playback mode.
In this mode, data is obtained from the running program using an interface described in Signal Interface. When GtkScope is in the polling mode, it can display data in time or in frequency. In addition, the polled data can be recorded in a file. The format of this file is described in Recording File Format.
In this mode, data is obtained from a file and displayed. This file format is described in Recording File Format.
The GtkScopeApp widget is a window in which the GtkScope canvas is embedded. It provides a graphical interface for manipulating the GtkScope canvas functionality. Typically, applications that use the GtkScopeApp widget do not directly access the GtkScope widget because the GtkScope API can be accessed via the GtkScopeApp API. In addition, directly accessing the the GtkScope functionality can leave the GtkScopeApp widget in an inconsistent state.
The Gscope object is used to maintain a list of GtkScopeApp widgets. This object is used to store parameters and data that are application-wide and not specific to each GtkScopeApp widget. For instance, Gscope keeps track of the number of visible GtkScopeApp widgets. When the number of visible widgets is zero, this object raises a "SCOPES_HIDDEN" signal so that applications can take appropriate action. Applications that use the GtkScope widget but not the GtkScopeApp widget should not use this object.