home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / include / pidgin / gtkmenutray.h < prev    next >
Encoding:
C/C++ Source or Header  |  2007-05-04  |  3.4 KB  |  108 lines

  1. /**
  2.  * @file gtkmenutray.h GTK+ Tray menu item
  3.  * @ingroup pidgin
  4.  *
  5.  * Pidgin is the legal property of its developers, whose names are too numerous
  6.  * to list here.  Please refer to the COPYRIGHT file distributed with this
  7.  * source distribution.
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  22.  */
  23. #ifndef PIDGIN_MENU_TRAY_H
  24. #define PIDGIN_MENU_TRAY_H
  25.  
  26. #include <gtk/gtkhbox.h>
  27. #include <gtk/gtkmenuitem.h>
  28. #include <gtk/gtktooltips.h>
  29.  
  30. #define PIDGIN_TYPE_MENU_TRAY                (pidgin_menu_tray_get_gtype())
  31. #define PIDGIN_MENU_TRAY(obj)                (GTK_CHECK_CAST((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTray))
  32. #define PIDGIN_MENU_TRAY_CLASS(klass)        (GTK_CHECK_CLASS_CAST((klass), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
  33. #define PIDGIN_IS_MENU_TRAY(obj)            (GTK_CHECK_TYPE((obj), PIDGIN_TYPE_MENU_TRAY))
  34. #define PIDGIN_IS_MENU_TRAY_CLASS(klass)    (GTK_CHECK_CLASS_TYPE((klass), PIDGIN_TYPE_MENU_TRAY))
  35. #define PIDGIN_MENU_TRAY_GET_CLASS(obj)    (GTK_CHECK_GET_CLASS((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
  36.  
  37. typedef struct _PidginMenuTray                PidginMenuTray;
  38. typedef struct _PidginMenuTrayClass        PidginMenuTrayClass;
  39.  
  40. /** A PidginMenuTray */
  41. struct _PidginMenuTray {
  42.     GtkMenuItem gparent;                    /**< The parent instance */
  43.     GtkWidget *tray;                        /**< The tray */
  44.     GtkTooltips *tooltips;                    /**< Tooltips */
  45. };
  46.  
  47. /** A PidginMenuTrayClass */
  48. struct _PidginMenuTrayClass {
  49.     GtkMenuItemClass gparent;                /**< The parent class */
  50. };
  51.  
  52. G_BEGIN_DECLS
  53.  
  54. /**
  55.  * Registers the PidginMenuTray class if necessary and returns the
  56.  * type ID assigned to it.
  57.  *
  58.  * @return The PidginMenuTray type ID
  59.  */
  60. GType pidgin_menu_tray_get_gtype(void);
  61.  
  62. /**
  63.  * Creates a new PidginMenuTray
  64.  *
  65.  * @return A new PidginMenuTray
  66.  */
  67. GtkWidget *pidgin_menu_tray_new(void);
  68.  
  69. /**
  70.  * Gets the box for the PidginMenuTray
  71.  *
  72.  * @param menu_tray The PidginMenuTray
  73.  *
  74.  * @return The box that this menu tray is using
  75.  */
  76. GtkWidget *pidgin_menu_tray_get_box(PidginMenuTray *menu_tray);
  77.  
  78. /**
  79.  * Appends a widget into the tray
  80.  *
  81.  * @param menu_tray The tray
  82.  * @param widget    The widget
  83.  * @param tooltip   The tooltip for this widget (widget requires its own X-window)
  84.  */
  85. void pidgin_menu_tray_append(PidginMenuTray *menu_tray, GtkWidget *widget, const char *tooltip);
  86.  
  87. /**
  88.  * Prepends a widget into the tray
  89.  *
  90.  * @param menu_tray The tray
  91.  * @param widget    The widget
  92.  * @param tooltip   The tooltip for this widget (widget requires its own X-window)
  93.  */
  94. void pidgin_menu_tray_prepend(PidginMenuTray *menu_tray, GtkWidget *widget, const char *tooltip);
  95.  
  96. /**
  97.  * Set the tooltip for a widget
  98.  *
  99.  * @param menu_tray The tray
  100.  * @param widget    The widget
  101.  * @param tooltip   The tooltip to set for the widget (widget requires its own X-window)
  102.  */
  103. void pidgin_menu_tray_set_tooltip(PidginMenuTray *menu_tray, GtkWidget *widget, const char *tooltip);
  104.  
  105. G_END_DECLS
  106.  
  107. #endif /* PIDGIN_MENU_TRAY_H */
  108.