Merge branch 'contrib_goto_focus'
[notion.git] / ioncore / grouppholder.h
blobf627089aefa0856c4f01cb08afade7174123067b
1 /*
2 * ion/ioncore/grouppholder.h
4 * Copyright (c) Tuomo Valkonen 2005-2009.
6 * See the included file LICENSE for details.
7 */
9 #ifndef ION_IONCORE_GROUPPHOLDER_H
10 #define ION_IONCORE_GROUPPHOLDER_H
12 #include <ioncore/common.h>
13 #include <ioncore/pholder.h>
14 #include "group.h"
17 DECLCLASS(WGroupPHolder){
18 WPHolder ph;
19 WGroup *group;
20 Watch stack_above_watch;
21 WGroupAttachParams param;
22 WGroupPHolder *next, *prev;
23 WPHolder *recreate_pholder;
26 extern WGroupPHolder *create_grouppholder(WGroup *group,
27 const WStacking *either_st,
28 const WGroupAttachParams *or_param);
30 extern bool grouppholder_init(WGroupPHolder *ph,
31 WGroup *group,
32 const WStacking *either_st,
33 const WGroupAttachParams *or_param);
35 extern void grouppholder_deinit(WGroupPHolder *ph);
37 extern bool grouppholder_do_goto(WGroupPHolder *ph);
39 extern WRegion *grouppholder_do_target(WGroupPHolder *ph);
41 extern WRegion *grouppholder_do_attach(WGroupPHolder *ph, int flags,
42 WRegionAttachData *data);
44 extern WGroupPHolder *group_managed_get_pholder(WGroup *group,
45 WRegion *mgd);
47 extern void grouppholder_do_unlink(WGroupPHolder *ph);
48 extern void grouppholder_do_link(WGroupPHolder *ph, WGroup *group,
49 WRegion *stack_above);
51 #endif /* ION_IONCORE_GROUPPHOLDER_H */