background: #eeeeee; border: solid 1px #aaaaaa; padding: 0.5em; } .programlisting { background: #eeeeff; border: solid 1px #aaaaff; padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .navigation { background: #ffeeee; border: solid 1px #ffaaaa; margin-top: 0.5em; margin-bottom: 0.5em; } .navigation a { color: #770000; } .navigation a:visited { color: #550000; } .navigation .title { font-size: 200%; }
Panel Applet Writer's Reference Manual |
---|
#include <panel-applet.h> struct PanelApplet; typedef PanelAppletOrient; #define PANEL_APPLET_ORIENT_UP #define PANEL_APPLET_ORIENT_DOWN #define PANEL_APPLET_ORIENT_LEFT #define PANEL_APPLET_ORIENT_RIGHT enum PanelAppletBackgroundType; enum PanelAppletFlags; gboolean (*PanelAppletFactoryCallback) (PanelApplet *applet, const gchar *iid, gpointer user_data); GtkWidget* panel_applet_new (void); PanelAppletOrient panel_applet_get_orient (PanelApplet *applet); guint panel_applet_get_size (PanelApplet *applet); PanelAppletBackgroundType panel_applet_get_background (PanelApplet *applet, GdkColor *color, GdkPixmap **pixmap); gchar* panel_applet_get_preferences_key (PanelApplet *applet); void panel_applet_add_preferences (PanelApplet *applet, const gchar *schema_dir, GError **opt_error); PanelAppletFlags panel_applet_get_flags (PanelApplet *applet); void panel_applet_set_flags (PanelApplet *applet, PanelAppletFlags flags); void panel_applet_set_size_hints (PanelApplet *applet, const int *size_hints, int n_elements, int base_size); BonoboControl* panel_applet_get_control (PanelApplet *applet); BonoboUIComponent* panel_applet_get_popup_component (PanelApplet *applet); void panel_applet_setup_menu (PanelApplet *applet, const gchar *xml, const BonoboUIVerb *verb_list, gpointer user_data); void panel_applet_setup_menu_from_file (PanelApplet *applet, const gchar *opt_datadir, const gchar *file, const gchar *opt_app_name, const BonoboUIVerb *verb_list, gpointer user_data); int panel_applet_factory_main (const gchar *iid, GType applet_type, PanelAppletFactoryCallback callback, gpointer data); int panel_applet_factory_main_closure (const gchar *iid, GType applet_type, GClosure *closure); #define PANEL_APPLET_BONOBO_FACTORY (iid, type, name, version, callback, data) Bonobo_Unknown panel_applet_shlib_factory (const char *iid, GType applet_type, PortableServer_POA poa, gpointer impl_ptr, PanelAppletFactoryCallback callback, gpointer user_data, CORBA_Environment *ev); Bonobo_Unknown panel_applet_shlib_factory_closure (const char *iid, GType applet_type, PortableServer_POA poa, gpointer impl_ptr, GClosure *closure, CORBA_Environment *ev); #define PANEL_APPLET_BONOBO_SHLIB_FACTORY(iid, type, descr, callback, data)
GObject +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkEventBox +----PanelApplet
"change-background" void user_function (PanelApplet *panelapplet, PanelAppletBackgroundType arg1, gpointer arg2, GdkPixmap *arg3, gpointer user_data); "change-orient" void user_function (PanelApplet *panelapplet, gint arg1, gpointer user_data); "change-size" void user_function (PanelApplet *panelapplet, gint arg1, gpointer user_data); "move-focus-out-of-applet" void user_function (PanelApplet *panelapplet, GtkDirectionType arg1, gpointer user_data);
The PanelApplet object is an object which encapsulates an applet. It is a GtkContainer which may contain a single widget. This widget, in turn, should contain all widgets exposed by the applet.
A PanelApplet is associated with a BonoboControl. The control makes the cross process UI emmbedding required by applets possible.
typedef GNOME_Vertigo_PanelOrient PanelAppletOrient;
The PanelAppletOrient type specifies the orientation of a panel.
#define PANEL_APPLET_ORIENT_UP GNOME_Vertigo_PANEL_ORIENT_UP
A panel at the top of the screen.
#define PANEL_APPLET_ORIENT_DOWN GNOME_Vertigo_PANEL_ORIENT_DOWN
A panel at the bottom of the screen.
#define PANEL_APPLET_ORIENT_LEFT GNOME_Vertigo_PANEL_ORIENT_LEFT
A panel at the left-hand side of the screen.
#define PANEL_APPLET_ORIENT_RIGHT GNOME_Vertigo_PANEL_ORIENT_RIGHT
A panel at the right-hand side of the screen.
typedef enum { PANEL_NO_BACKGROUND, PANEL_COLOR_BACKGROUND, PANEL_PIXMAP_BACKGROUND } PanelAppletBackgroundType;
The PanelAppletOrient enumerated type specifies the type of background of a panel.
PANEL_NO_BACKGROUND | The panel has no backround, the default is used. |
PANEL_COLOR_BACKGROUND | The panel has a color, i.e rgb value, background. |
PANEL_PIXMAP_BACKGROUND |
typedef enum { PANEL_APPLET_FLAGS_NONE = 0, PANEL_APPLET_EXPAND_MAJOR = 1 << 0, PANEL_APPLET_EXPAND_MINOR = 1 << 1, PANEL_APPLET_HAS_HANDLE = 1 << 2, } PanelAppletFlags;
gboolean (*PanelAppletFactoryCallback) (PanelApplet *applet, const gchar *iid, gpointer user_data);
applet : | |
iid : | |
user_data : | |
Returns : |
|
GtkWidget* panel_applet_new (void);
Creates a new PanelApplet.
Returns : | A GtkWidget on success, NULL on failure. |
PanelAppletOrient panel_applet_get_orient (PanelApplet *applet);
Returns the current orientation of the panel which the applet is contained in.
applet : | A PanelApplet. |
Returns : | a PanelAppletOrient value. |
guint panel_applet_get_size (PanelApplet *applet);
Returns the current size of the panel which the applet is contained in.
applet : | A PanelApplet. |
Returns : | a guint value. |
PanelAppletBackgroundType panel_applet_get_background (PanelApplet *applet, GdkColor *color, GdkPixmap **pixmap);
Returns the current background type. If the background type is PANEL_NO_BACKGROUND both color and pixmap will be unaffected. If the background type is PANEL_COLOR_BACKGROUND then color will contain the current panel background colour. If the background type is PANEL_PIXMAP_BACKGROUND, pixmap will contain a pointer to a GdkPixmap which is a copy of the applet's portion of the panel's background pixmap.
applet : | A PanelApplet. |
color : | A GdkColor to be filled in. |
pixmap : | Returned GdkPixmap |
Returns : | a PanelAppletOrient value. |
gchar* panel_applet_get_preferences_key (PanelApplet *applet);
applet : | |
Returns : |
|
void panel_applet_add_preferences (PanelApplet *applet, const gchar *schema_dir, GError **opt_error);
applet : | |
schema_dir : | |
opt_error : |
|
PanelAppletFlags panel_applet_get_flags (PanelApplet *applet);
applet : | |
Returns : |
|
void panel_applet_set_flags (PanelApplet *applet, PanelAppletFlags flags);
applet : | |
flags : |
|
void panel_applet_set_size_hints (PanelApplet *applet, const int *size_hints, int n_elements, int base_size);
applet : | |
size_hints : | |
n_elements : | |
base_size : |
|
BonoboControl* panel_applet_get_control (PanelApplet *applet);
Retrieves the BonoboControl associated with applet.
applet : | A PanelApplet. |
Returns : | A BonobControl on success, NULL on failure. |
BonoboUIComponent* panel_applet_get_popup_component (PanelApplet *applet);
Retrieves the BonoboUIComponent used for popup menus associated with applet.
applet : | A PanelApplet. |
Returns : | A BonoboUIComponent on success, or NULL on failure. |
void panel_applet_setup_menu (PanelApplet *applet, const gchar *xml, const BonoboUIVerb *verb_list, gpointer user_data);
Sets up a popup menu for applet described by the xml string, xml. See <link linkend="applet-writing">Applet Writing </link> section for a description of the format of the xml.
applet : | A PanelApplet. |
xml : | The xml character string describing the popup menu. |
verb_list : | The list of BonoboUIVerbs for the menu. |
user_data : | The user data pointer for the menu. |
void panel_applet_setup_menu_from_file (PanelApplet *applet, const gchar *opt_datadir, const gchar *file, const gchar *opt_app_name, const BonoboUIVerb *verb_list, gpointer user_data);
Sets up a popup menu for applet described by the xml file, file. See &applet-writing for a description of the format of the xml.
applet : | A PanelApplet. |
opt_datadir : | The data directory - i.e. ${prefix}/share (optional). |
file : | The file's name. |
opt_app_name : | The application's name (optional). |
verb_list : | The list of BonoboUIVerbs for the menu. |
user_data : | The user data pointer for the menu. |
int panel_applet_factory_main (const gchar *iid, GType applet_type, PanelAppletFactoryCallback callback, gpointer data);
A generic 'main' routine for applets. This should not normally be used directly because it is invoked by PANEL_APPLET_BONOBO_FACTORY.
iid : | The bonobo-activation iid of the factory. |
applet_type : | |
callback : | The factory callback. |
data : | The factory user data pointer. |
Returns : | 0 on success, 1 on failure. |
int panel_applet_factory_main_closure (const gchar *iid, GType applet_type, GClosure *closure);
A generic 'main' routine for applets. This should not normally be used directly because it is invoked by PANEL_APPLET_BONOBO_FACTORY.
iid : | The bonobo-activation iid of the factory. |
applet_type : | |
closure : | The factory callback closure. |
Returns : | 0 on success, 1 on failure. |
#define PANEL_APPLET_BONOBO_FACTORY(iid, type, name, version, callback, data)
Defines a 'main' routine for the applet factory.
iid : | The bonobo-activation iid of the factory. |
type : | |
name : | The applet ID string. |
version : | The applet version string. |
callback : | The factory callback. |
data : | he factory user data pointer. |
Bonobo_Unknown panel_applet_shlib_factory (const char *iid, GType applet_type, PortableServer_POA poa, gpointer impl_ptr, PanelAppletFactoryCallback callback, gpointer user_data, CORBA_Environment *ev);
iid : | |
applet_type : | |
poa : | |
impl_ptr : | |
callback : | |
user_data : | |
ev : | |
Returns : |
|
Bonobo_Unknown panel_applet_shlib_factory_closure (const char *iid, GType applet_type, PortableServer_POA poa, gpointer impl_ptr, GClosure *closure, CORBA_Environment *ev);
iid : | |
applet_type : | |
poa : | |
impl_ptr : | |
closure : | |
ev : | |
Returns : |
|
#define PANEL_APPLET_BONOBO_SHLIB_FACTORY(iid, type, descr, callback, data)
iid : | |
type : | |
descr : | |
callback : | |
data : |
|
void user_function (PanelApplet *panelapplet, PanelAppletBackgroundType arg1, gpointer arg2, GdkPixmap *arg3, gpointer user_data);
Emitted when the background of the panel changes. Use type to determine which, if any, of color and pimxap is valid.
panelapplet : | The object which received the signal. |
arg1 : | |
arg2 : | |
arg3 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (PanelApplet *panelapplet, gint arg1, gpointer user_data);
Emitted when the orientation of the panel changes.
panelapplet : | The object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (PanelApplet *panelapplet, gint arg1, gpointer user_data);
Emitted when the size of the panel changes.
Note: this is different for size negotiation which is handled by size_request() and size_allocate() as usual. This signal should be used to determine what font size or widget layout to use depending on the size of the panel.
panelapplet : | The object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (PanelApplet *panelapplet, GtkDirectionType arg1, gpointer user_data);
panelapplet : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
<<< The Panel Applet Library |