Adding upstream version 0.9.1.
[debian/lxpanel.git] / src / panel.h
index d5cf051..14e0cc8 100644 (file)
@@ -1,5 +1,14 @@
-/**
- * Copyright (c) 2006-2014 LxDE Developers, see the file AUTHORS for details.
+/*
+ * Copyright (C) 2006-2010 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
+ *               2006-2008 Jim Huang <jserv.tw@gmail.com>
+ *               2008 Fred Chien <fred@lxde.org>
+ *               2009-2010 Marty Jack <martyj19@comcast.net>
+ *               2010 Lajos Kamocsay <lajos@panka.com>
+ *               2012 Piotr Sipika <Piotr.Sipika@gmail.com>
+ *               2012 Michael Rawson <michaelrawson76@gmail.com>
+ *               2013 Henry Gebhardt <hsggebhardt@gmail.com>
+ *               2013 Rouslan <rouslan-k@users.sourceforge.net>
+ *               2014 Andriy Grytsenko <andrej@rep.kiev.ua>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 
 G_BEGIN_DECLS
 
+/**
+ * LXPANEL_CHECK_VERSION
+ *
+ * A simple macro for plugins to check features.
+ *
+ * Since: 0.8.0
+ */
+#define LXPANEL_CHECK_VERSION(_a,_b,_c) \
+    (0 > _a || \
+    (0 == _a && 9 > _b) || \
+    (0 == _a && 9 == _b && 1 >= _c))
+
+
 #define LX_TYPE_PANEL                  (lxpanel_get_type())
 #define LXPANEL(obj)                   (G_TYPE_CHECK_INSTANCE_CAST((obj), \
                                         LX_TYPE_PANEL, LXPanel))
@@ -48,9 +70,20 @@ struct _LXPanel
     Panel *priv;
 };
 
+/**
+ * LXPanelClass:
+ * @parent_class: The parent class.
+ * @icon_size_changed: callback for "icon-size-changed" signal, emitted when
+ *              icons size for panel is changed in the configuration dialog.
+ * @panel_font_changed: callback for "panel-font-changed" signal, emitted when
+ *              custom font enabled, disabled or its metrics or color changed
+ *              in the panel configuration dialog.
+ */
 struct _LXPanelClass
 {
     GtkWindowClass parent_class;
+    void (*icon_size_changed)(LXPanel *panel);
+    void (*panel_font_changed)(LXPanel *panel);
 };
 
 /**
@@ -78,28 +111,6 @@ extern void lxpanel_draw_label_text(LXPanel * p, GtkWidget * label, const char *
                                     gboolean custom_color);
 
 /**
- * lxpanel_image_set_from_file
- * @p: a panel instance
- * @image: a #GtkImage widget
- * @file: image file path
- *
- * Applies icon from @file to @image in accordance with icon size setting
- * on panel @p.
- */
-extern void lxpanel_image_set_from_file(LXPanel * p, GtkWidget * image, const char * file);
-
-/**
- * lxpanel_image_set_icon_theme
- * @p: a panel instance
- * @image: a #GtkImage widget
- * @icon: icon name
- *
- * Applies icon size and theme from settings of @p to @image using @icon
- * name to select icon.
- */
-extern gboolean lxpanel_image_set_icon_theme(LXPanel * p, GtkWidget * image, const gchar * icon);
-
-/**
  * lxpanel_config_save
  * @p: a panel instance
  *