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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
/*
* Copyright (c) 2007 Secure Endpoints Inc.
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies
* of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/* $Id$ */
#ifndef __NETIDMGR_ACTION_H_INTERNAL
#define __NETIDMGR_ACTION_H_INTERNAL
/* Internal declarations for exports and data structured used in
nidmgr32.dll and netidmgr.exe */
extern HWND khui_hwnd_main;
typedef struct tag_khui_ui_callback_data {
khm_int32 magic;
khm_ui_callback cb;
void * rock;
khm_int32 rv;
} khui_ui_callback_data;
#define KHUI_UICBDATA_MAGIC 0x8a08572a
/*! \addtogroup khui_actions
@{ */
/*! \brief An action */
typedef struct tag_khui_action {
khm_int32 cmd; /*!< action identifier */
khm_int32 type; /*!< combination of KHUI_ACTIONTYPE_* */
wchar_t * name; /*!< name for named actions. NULL if
not named. */
/* The following fields are only for use by NetIDMgr */
khm_int16 ib_normal; /*!< (internal) normal bitmap (index) (toolbar sized icon) */
khm_int16 ib_hot; /*!< (internal) hot bitmap (index) (toolbar sized icon) */
khm_int16 ib_disabled; /*!< (internal) disabled bitmap (index) (toolbar sized icon) */
khm_int16 ib_icon; /*!< (internal) index of small (16x16) icon (for menu) (small icon) */
khm_int16 ib_icon_dis; /*!< (internal) index of disabled (greyed) icon (small icon) */
khm_int16 is_caption; /*!< (internal) index of string resource for caption */
khm_int16 is_tooltip; /*!< (internal) same for description / tooltip */
khm_int16 ih_topic; /*!< (internal) help topic */
/* The following fields are specified for custom actions */
wchar_t * caption; /*!< Caption (localized) (limited by
KHUI_MAXCCH_SHORT_DESC). The
caption is used for representing the
action in menus and toolbars. */
wchar_t * tooltip; /*!< Tooltip (localized) (limited by
KHUI_MAXCCH_SHORT_DESC). If this is
specified, whenever the user hovers
over the menu item or toolbar button
representing the action, the tooltip
will be displayed either on a
tooltip window or in the status
bar. */
khm_handle listener; /*!< Listener of this action. Should be
a handle to a message
subscription. When the action is
invoked, a message of type
::KMSG_ACT and subtype
::KMSG_ACT_ACTIVATE will be posted
to this subscriber. The \a uparam
parameter of the message will have
the identifier of the action. */
void * data; /*!< User data for custom action. This
field is not used by the UI library.
It is reserved for plugins to store
data that is specific for this
action. The data that's passed in
in the \a userdata parameter to
khui_action_create() will be stored
here and can be retrieved by calling
khui_action_get_data(). */
void * reserved1; /*!< Reserved. */
void * reserved2; /*!< Reserved. */
void * reserved3; /*!< Reserved. */
/* For all actions */
int state; /*!< current state. combination of
KHUI_ACTIONSTATE_* */
} khui_action;
/*@}*/
#endif
|