LEFT | RIGHT |
1 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ | 1 /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ |
2 /* vim:set et sts=4: */ | 2 /* vim:set et sts=4: */ |
3 /* ibus - The Input Bus | 3 /* ibus - The Input Bus |
4 * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com> | 4 * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com> |
5 * Copyright (C) 2008-2010 Red Hat, Inc. | 5 * Copyright (C) 2008-2010 Red Hat, Inc. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
11 * | 11 * |
12 * This library is distributed in the hope that it will be useful, | 12 * This library is distributed in the hope that it will be useful, |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 * Lesser General Public License for more details. | 15 * Lesser General Public License for more details. |
16 * | 16 * |
17 * You should have received a copy of the GNU Lesser General Public | 17 * You should have received a copy of the GNU Lesser General Public |
18 * License along with this library; if not, write to the | 18 * License along with this library; if not, write to the |
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
20 * Boston, MA 02111-1307, USA. | 20 * Boston, MA 02111-1307, USA. |
21 */ | 21 */ |
22 #include "panelproxy.h" | 22 #include "panelproxy.h" |
| 23 |
| 24 #include "global.h" |
| 25 #include "marshalers.h" |
23 #include "types.h" | 26 #include "types.h" |
24 #include "marshalers.h" | |
25 #include "option.h" | |
26 | 27 |
27 /* panelproxy.c is a very simple proxy class for the panel component that does o
nly the following: | 28 /* panelproxy.c is a very simple proxy class for the panel component that does o
nly the following: |
28 * | 29 * |
29 * 1. Handle D-Bus signals from the panel process. For the list of the D-Bus sig
nals, you can check the bus_panel_proxy_g_signal function, or | 30 * 1. Handle D-Bus signals from the panel process. For the list of the D-Bus sig
nals, you can check the bus_panel_proxy_g_signal function, or |
30 * introspection_xml in src/ibuspanelservice.c. The bus_panel_proxy_g_signal
function simply emits a corresponding glib signal for each | 31 * introspection_xml in src/ibuspanelservice.c. The bus_panel_proxy_g_signal
function simply emits a corresponding glib signal for each |
31 * D-Bus signal. | 32 * D-Bus signal. |
32 * 2. Handle glib signals for a BusPanelProxy object (which is usually emitted b
y bus_panel_proxy_g_signal.) The list of such glib signals is | 33 * 2. Handle glib signals for a BusPanelProxy object (which is usually emitted b
y bus_panel_proxy_g_signal.) The list of such glib signals is |
33 * in the bus_panel_proxy_class_init function. The signal handler function, e
.g. bus_panel_proxy_candidate_clicked, simply calls the | 34 * in the bus_panel_proxy_class_init function. The signal handler function, e
.g. bus_panel_proxy_candidate_clicked, simply calls the |
34 * corresponding function in inputcontext.c, e.g. bus_input_context_candidate
_clicked, using the current focused context. | 35 * corresponding function in inputcontext.c, e.g. bus_input_context_candidate
_clicked, using the current focused context. |
35 * 3. Provide a way to call D-Bus methods in the panel process. For the list of
the D-Bus methods, you can check the header file (panelproxy.h) | 36 * 3. Provide a way to call D-Bus methods in the panel process. For the list of
the D-Bus methods, you can check the header file (panelproxy.h) |
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 g_dbus_proxy_call ((GDBusProxy *)panel, | 687 g_dbus_proxy_call ((GDBusProxy *)panel, |
687 "FocusOut", | 688 "FocusOut", |
688 g_variant_new ("(o)", path), | 689 g_variant_new ("(o)", path), |
689 G_DBUS_CALL_FLAGS_NONE, | 690 G_DBUS_CALL_FLAGS_NONE, |
690 -1, NULL, NULL, NULL); | 691 -1, NULL, NULL, NULL); |
691 | 692 |
692 g_object_unref (panel->focused_context); | 693 g_object_unref (panel->focused_context); |
693 panel->focused_context = NULL; | 694 panel->focused_context = NULL; |
694 } | 695 } |
695 | 696 |
LEFT | RIGHT |