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