summaryrefslogtreecommitdiff
path: root/mate-panel/panel-applets-manager.c
diff options
context:
space:
mode:
authorlukefromdc <[email protected]>2017-07-14 15:25:37 -0400
committerlukefromdc <[email protected]>2017-08-13 14:37:24 -0400
commit2f5fb35954021ba1fbd71aa3c6304394d2d67bdd (patch)
treef028d1577bc57f48e3622b825aad0b8d0cdae9b0 /mate-panel/panel-applets-manager.c
parent788cde808151c8b4f06ee343f1e7006341c2d0ee (diff)
downloadmate-panel-2f5fb35954021ba1fbd71aa3c6304394d2d67bdd.tar.bz2
mate-panel-2f5fb35954021ba1fbd71aa3c6304394d2d67bdd.tar.xz
make it possible to get applet widget
We will use this to get applet widget from factory. This will allow to bypass GtkPlug/GtkSocket. Based on https://github.com/GNOME/gnome-panel/commit/408bab094d1fad471b342548dabc58410a3dc327
Diffstat (limited to 'mate-panel/panel-applets-manager.c')
-rw-r--r--mate-panel/panel-applets-manager.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/mate-panel/panel-applets-manager.c b/mate-panel/panel-applets-manager.c
index 9568327e..23b43f0c 100644
--- a/mate-panel/panel-applets-manager.c
+++ b/mate-panel/panel-applets-manager.c
@@ -199,3 +199,23 @@ mate_panel_applets_manager_load_applet (const gchar *iid,
return FALSE;
}
+
+GtkWidget *
+mate_panel_applets_manager_get_applet_widget (const gchar *iid,
+ guint uid)
+{
+ GSList *l;
+
+ _mate_panel_applets_managers_ensure_loaded ();
+
+ for (l = mate_panel_applets_managers; l != NULL; l = l->next) {
+ MatePanelAppletsManager *manager = MATE_PANEL_APPLETS_MANAGER (l->data);
+
+ if (!MATE_PANEL_APPLETS_MANAGER_GET_CLASS (manager)->get_applet_info (manager, iid))
+ continue;
+
+ return MATE_PANEL_APPLETS_MANAGER_GET_CLASS (manager)->get_applet_widget (manager, iid, uid);
+ }
+
+ return NULL;
+}