1 /* 2 * This file is a part of the Cairo-Dock project 3 * 4 * Copyright : (C) see the 'copyright' file. 5 * E-mail : see the 'copyright' file. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 3 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef __CAIRO_DOCK_STACK_ICON_ICON_MANAGER__ 21 #define __CAIRO_DOCK_STACK_ICON_ICON_MANAGER__ 22 23 #include "cairo-dock-struct.h" 24 #include "cairo-dock-user-icon-manager.h" 25 G_BEGIN_DECLS 26 27 /** 28 *@file cairo-dock-stack-icon-manager.h This class handles the Stack Icons, which are user icons pointing to a sub-dock. 29 */ 30 31 // manager 32 typedef struct GldiUserIconAttr GldiStackIconAttr; 33 typedef GldiUserIcon GldiStackIcon; 34 35 #ifndef _MANAGER_DEF_ 36 extern GldiObjectManager myStackIconObjectMgr; 37 #endif 38 39 // signals 40 typedef enum { 41 NB_NOTIFICATIONS_STACK_ICON = NB_NOTIFICATIONS_USER_ICON, 42 } GldiStackIconNotifications; 43 44 45 /** Say if an object is a StackIcon. 46 *@param obj the object. 47 *@return TRUE if the object is a StackIcon. 48 */ 49 #define GLDI_OBJECT_IS_STACK_ICON(obj) gldi_object_is_manager_child (GLDI_OBJECT(obj), &myStackIconObjectMgr) 50 51 52 gchar *gldi_stack_icon_add_conf_file (const gchar *cDockName, double fOrder); 53 54 55 Icon *gldi_stack_icon_add_new (CairoDock *pDock, double fOrder); 56 57 58 void gldi_register_stack_icons_manager (void); 59 60 61 G_END_DECLS 62 #endif 63