1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "mbdesktop_module.h"
MBDesktopItem *
mbdesktop_get_top_level_folder(MBDesktop *mb)
{
return mb->top_head_item;
}
MBDesktopItem*
mbdesktop_module_folder_create ( MBDesktop *mb,
char *name,
char *icon_name )
{
MBDesktopItem* item_folder = NULL;
#ifdef MB_HAVE_PNG
char *folder_prev_name = "mbfolderprev.png";
#else
char *folder_prev_name = "mbfolderprev.xpm";
#endif
item_folder
= mbdesktop_item_new_with_params( mb,
name,
icon_name,
NULL,
ITEM_TYPE_FOLDER
);
mbdesktop_item_set_activate_callback (mb, item_folder,
mbdesktop_item_folder_activate_cb);
item_folder->item_child
= mbdesktop_item_new_with_params(mb,
"Back",
folder_prev_name,
NULL,
ITEM_TYPE_PREVIOUS
);
item_folder->item_child->item_parent = item_folder;
mbdesktop_item_set_activate_callback (mb, item_folder->item_child,
mbdesktop_item_folder_prev_activate_cb);
/* XXXX Below should go in append !
item_folder->item_parent = mb->top_head_item;
if (mb->top_head_item->item_child == NULL)
mb->top_head_item->item_child = item_folder;
else
mbdesktop_items_prepend( mb, &mb->top_head_item->item_child, item_folder);
*/
return item_folder; /* ->item_child; */
}
void
mbdesktop_module_set_userdata (MBDesktop *mb,
MBDesktopFolderModule *folder_module,
void *data)
{
folder_module->user_data = data;
}
void *
mbdesktop_module_get_userdata_from_item (MBDesktop *mb,
MBDesktopItem *item)
{
/* XXXX broke - see above
if (item->module_handle)
return (void *)item->module_handle->user_data;
if (item->item_parent && item->item_parent->module_handle)
return (void *)item->item_parent->module_handle->user_data;
return NULL;
*/
return NULL;
}
int
mbdesktop_module_get_register_type (MBDesktop *mb )
{
return mb->type_register_cnt++;
}
|