2
* test-bonobo-applet.c:
5
* Mark McLoughlin <mark@skynet.ie>
7
* Copyright 2001 Sun Microsystems, Inc.
13
#include <libbonoboui.h>
15
#include "panel-applet.h"
18
test_applet_on_do (BonoboUIComponent *uic,
20
const gchar *verbname)
22
g_message ("%s called\n", verbname);
25
static const BonoboUIVerb test_applet_menu_verbs [] = {
26
BONOBO_UI_VERB ("TestAppletDo1", test_applet_on_do),
27
BONOBO_UI_VERB ("TestAppletDo2", test_applet_on_do),
28
BONOBO_UI_VERB ("TestAppletDo3", test_applet_on_do),
33
static const char test_applet_menu_xml [] =
34
"<popup name=\"button3\">\n"
35
" <menuitem name=\"Test Item 1\" verb=\"TestAppletDo1\" _label=\"Test This One\"/>\n"
36
" <menuitem name=\"Test Item 2\" verb=\"TestAppletDo2\" _label=\"Test This Two\"/>\n"
37
" <menuitem name=\"Test Item 3\" verb=\"TestAppletDo3\" _label=\"Test This Three\"/>\n"
46
test_applet_get_type (void)
48
static GType type = 0;
51
static const GTypeInfo info = {
52
sizeof (PanelAppletClass),
53
NULL, NULL, NULL, NULL, NULL,
58
type = g_type_register_static (
59
PANEL_TYPE_APPLET, "TestApplet", &info, 0);
66
test_applet_handle_orient_change (TestApplet *applet,
67
PanelAppletOrient orient,
72
text = g_strdup (gtk_label_get_text (GTK_LABEL (applet->label)));
76
gtk_label_set_text (GTK_LABEL (applet->label), text);
82
test_applet_handle_size_change (TestApplet *applet,
87
case GNOME_Vertigo_PANEL_XX_SMALL:
88
gtk_label_set_markup (
89
GTK_LABEL (applet->label), "<span size=\"xx-small\">Hello</span>");
91
case GNOME_Vertigo_PANEL_X_SMALL:
92
gtk_label_set_markup (
93
GTK_LABEL (applet->label), "<span size=\"x-small\">Hello</span>");
95
case GNOME_Vertigo_PANEL_SMALL:
96
gtk_label_set_markup (
97
GTK_LABEL (applet->label), "<span size=\"small\">Hello</span>");
99
case GNOME_Vertigo_PANEL_MEDIUM:
100
gtk_label_set_markup (
101
GTK_LABEL (applet->label), "<span size=\"medium\">Hello</span>");
103
case GNOME_Vertigo_PANEL_LARGE:
104
gtk_label_set_markup (
105
GTK_LABEL (applet->label), "<span size=\"large\">Hello</span>");
107
case GNOME_Vertigo_PANEL_X_LARGE:
108
gtk_label_set_markup (
109
GTK_LABEL (applet->label), "<span size=\"x-large\">Hello</span>");
111
case GNOME_Vertigo_PANEL_XX_LARGE:
112
gtk_label_set_markup (
113
GTK_LABEL (applet->label), "<span size=\"xx-large\">Hello</span>");
116
g_assert_not_reached ();
122
test_applet_handle_background_change (TestApplet *applet,
123
PanelAppletBackgroundType type,
128
GdkWindow *window = gtk_widget_get_window (applet->label);
131
case PANEL_NO_BACKGROUND:
132
g_message ("Setting background to default");
133
gdk_window_set_back_pixmap (window, NULL, FALSE);
135
case PANEL_COLOR_BACKGROUND:
136
g_message ("Setting background to #%2x%2x%2x",
137
color->red, color->green, color->blue);
138
gdk_window_set_back_pixmap (window, NULL, FALSE);
140
case PANEL_PIXMAP_BACKGROUND:
141
g_message ("Setting background to '%p'", pixmap);
142
gdk_window_set_back_pixmap (window, pixmap, FALSE);
145
g_assert_not_reached ();
151
test_applet_fill (TestApplet *applet)
153
applet->label = gtk_label_new (NULL);
155
gtk_container_add (GTK_CONTAINER (applet), applet->label);
157
gtk_widget_show_all (GTK_WIDGET (applet));
159
test_applet_handle_size_change (applet, GNOME_Vertigo_PANEL_MEDIUM, NULL);
161
panel_applet_setup_menu (
162
PANEL_APPLET (applet), test_applet_menu_xml, test_applet_menu_verbs, NULL);
164
gtk_widget_set_tooltip_text (GTK_WIDGET (applet), "Hello Tip");
166
panel_applet_set_flags (PANEL_APPLET (applet), PANEL_APPLET_HAS_HANDLE);
168
g_signal_connect (G_OBJECT (applet),
170
G_CALLBACK (test_applet_handle_orient_change),
173
g_signal_connect (G_OBJECT (applet),
175
G_CALLBACK (test_applet_handle_size_change),
178
g_signal_connect (G_OBJECT (applet),
180
G_CALLBACK (test_applet_handle_background_change),
187
test_applet_factory (TestApplet *applet,
191
gboolean retval = FALSE;
193
if (!strcmp (iid, "OAFIID:GNOME_Panel_TestBonoboApplet"))
194
retval = test_applet_fill (applet);
199
PANEL_APPLET_BONOBO_FACTORY ("OAFIID:GNOME_Panel_TestBonoboApplet_Factory",
200
test_applet_get_type (),
201
"A Test Applet for the GNOME-2.0 Panel",
203
(PanelAppletFactoryCallback) test_applet_factory,