1
2
libmeego-panel-clutter and libmeego-panel-gtk are utility libraries for
3
implementing panels for the Meego Toolbar. They provide the following objects:
4
5
MplEntry
6
========
7
An entry widget for use by the Panels.
8
9
MplPanelClient
10
==============
11
An abstract object providing most of the panel API, with two subclasses,
12
MplPanelClutter and MplPanelGtk implementing the gory details for Clutter and
13
Gtk-based panels respectively (in order to speed up the panel loading, the
14
MplPanelClutter and MplPanelGtk are provided each in a library of their own).
15
16
17
Public Functions
18
----------------
19
20
mpl_panel_clutter/gtk_new  (const gchar *name,
21
                     	    const gchar *tooltip,
22
                            const gchar *stylesheet,
23
                            const gchar *button_style,
24
                            gboolean     with_toolbar_service)
25
26
Panel object constructors:
27
28
  * name -- identifier of the Panel slot on the Toolbar, predefined in
29
            mpl-panel-common.h;
30
31
  * tooltip -- the toolip text for the associated Toolbar button;
32
33
  * stylesheet -- css stylesheet for Toolbar button styling;
34
35
  * button_style -- id of the style that is to be applied to the Toobar button;
36
37
  * with_toolbar_service -- whether the Toolbar dbus services should be enabled.
38
                            Panels requiring the application launching API
39
                            should pass TRUE.
40
41
42
43
mpl_panel_client_request_show ()
44
mpl_panel_client_request_hide ()
45
46
API through which the application can request that the Panel be shown or
47
hidden (NB: the hide request results in both the Panel and the Toolbar getting
48
hidden.)
49
50
51
52
mpl_panel_client_request_button_style ()
53
mpl_panel_client_reqeust_tooltip ()
54
55
API for dynamically changing the style of the associated Toolbar button and its
56
tooltip after the object has been created.
57
58
59
60
mpl_panel_client_set_height ()
61
62
API for panels that do not wish to use the default fullscreen height.
63
64
65
66
mpl_panel_client_launch_application ();
67
mpl_panel_client_launch_application_from_desktop_file ();
68
mpl_panel_client_launch_default_application_for_uri ();
69
70
Application-launching API.
71
72
73
74
mpl_panel_client_clutter_track_actor_height()
75
76
Allows Clutter-based panels to dynamically resize when the size of their
77
top-level actor changes.
78
79
Signals
80
-------
81
82
"set-size" (guint width, guint height)
83
84
The set-size signal is emitted at the end of the handshake between the Panel
85
and the Toolbar. The width and height parameters indicate the size the Panel
86
will occupy. Generally, Panels that require to know their final size in order
87
to do layout should construct their contents in response to this signal.
88
89
90
91
"show-begin" (void)
92
"show-end"
93
"hide-begin"
94
"hide-end"
95
96
These signals are emitted at the start/end of the panel show/hide animation.
97
NB: these are non-blocking signals, and respective animations will commence
98
before the Panel returns.
99
100
101
102
Dbus Service Files
103
------------------
104
105
Each Panel needs to install a dbus service file that allows it to be
106
autostarted. The service name provided by the panel is
107
MPL_PANEL_DBUS_NAME_PREFIX MPL_PANEL_<name> (see mpl-panel-common.h for the
108
definition of the constants).
109
110
111
112
Examples
113
--------
114
115
tests/test-panel-clutter.c and tests/test-panel-gtk.c demonstrate how to create
116
a Panel either using Gtk or Clutter and their associated service files.
117
118
119
120
Tips
121
----
122
123
If you modify your Panel while testing, make sure to kill any running instances,
124
otherwise you might be trying to debug a stale process.