winapi_ui_automation/um/
docobj.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6use ctypes::wchar_t;
7use shared::guiddef::GUID;
8use shared::minwindef::{DWORD, ULONG};
9use um::oaidl::VARIANT;
10use um::unknwnbase::{IUnknown, IUnknownVtbl};
11use um::winnt::HRESULT;
12ENUM!{enum OLECMDF {
13    OLECMDF_SUPPORTED = 0x1,
14    OLECMDF_ENABLED = 0x2,
15    OLECMDF_LATCHED = 0x4,
16    OLECMDF_NINCHED = 0x8,
17    OLECMDF_INVISIBLE = 0x10,
18    OLECMDF_DEFHIDEONCTXTMENU = 0x20,
19}}
20STRUCT!{struct OLECMD {
21    cmdID: ULONG,
22    cmdf: DWORD,
23}}
24STRUCT!{struct OLECMDTEXT {
25    cmdtextf: DWORD,
26    cwActual: ULONG,
27    cwBuf: ULONG,
28    rgwz: [wchar_t; 1],
29}}
30ENUM!{enum OLECMDEXECOPT {
31    OLECMDEXECOPT_DODEFAULT = 0,
32    OLECMDEXECOPT_PROMPTUSER = 1,
33    OLECMDEXECOPT_DONTPROMPTUSER = 2,
34    OLECMDEXECOPT_SHOWHELP = 3,
35}}
36ENUM!{enum OLECMDID {
37    OLECMDID_OPEN = 1,
38    OLECMDID_NEW = 2,
39    OLECMDID_SAVE = 3,
40    OLECMDID_SAVEAS = 4,
41    OLECMDID_SAVECOPYAS = 5,
42    OLECMDID_PRINT = 6,
43    OLECMDID_PRINTPREVIEW = 7,
44    OLECMDID_PAGESETUP = 8,
45    OLECMDID_SPELL = 9,
46    OLECMDID_PROPERTIES = 10,
47    OLECMDID_CUT = 11,
48    OLECMDID_COPY = 12,
49    OLECMDID_PASTE = 13,
50    OLECMDID_PASTESPECIAL = 14,
51    OLECMDID_UNDO = 15,
52    OLECMDID_REDO = 16,
53    OLECMDID_SELECTALL = 17,
54    OLECMDID_CLEARSELECTION = 18,
55    OLECMDID_ZOOM = 19,
56    OLECMDID_GETZOOMRANGE = 20,
57    OLECMDID_UPDATECOMMANDS = 21,
58    OLECMDID_REFRESH = 22,
59    OLECMDID_STOP = 23,
60    OLECMDID_HIDETOOLBARS = 24,
61    OLECMDID_SETPROGRESSMAX = 25,
62    OLECMDID_SETPROGRESSPOS = 26,
63    OLECMDID_SETPROGRESSTEXT = 27,
64    OLECMDID_SETTITLE = 28,
65    OLECMDID_SETDOWNLOADSTATE = 29,
66    OLECMDID_STOPDOWNLOAD = 30,
67    OLECMDID_ONTOOLBARACTIVATED = 31,
68    OLECMDID_FIND = 32,
69    OLECMDID_DELETE = 33,
70    OLECMDID_HTTPEQUIV = 34,
71    OLECMDID_HTTPEQUIV_DONE = 35,
72    OLECMDID_ENABLE_INTERACTION = 36,
73    OLECMDID_ONUNLOAD = 37,
74    OLECMDID_PROPERTYBAG2 = 38,
75    OLECMDID_PREREFRESH = 39,
76    OLECMDID_SHOWSCRIPTERROR = 40,
77    OLECMDID_SHOWMESSAGE = 41,
78    OLECMDID_SHOWFIND = 42,
79    OLECMDID_SHOWPAGESETUP = 43,
80    OLECMDID_SHOWPRINT = 44,
81    OLECMDID_CLOSE = 45,
82    OLECMDID_ALLOWUILESSSAVEAS = 46,
83    OLECMDID_DONTDOWNLOADCSS = 47,
84    OLECMDID_UPDATEPAGESTATUS = 48,
85    OLECMDID_PRINT2 = 49,
86    OLECMDID_PRINTPREVIEW2 = 50,
87    OLECMDID_SETPRINTTEMPLATE = 51,
88    OLECMDID_GETPRINTTEMPLATE = 52,
89    OLECMDID_PAGEACTIONBLOCKED = 55,
90    OLECMDID_PAGEACTIONUIQUERY = 56,
91    OLECMDID_FOCUSVIEWCONTROLS = 57,
92    OLECMDID_FOCUSVIEWCONTROLSQUERY = 58,
93    OLECMDID_SHOWPAGEACTIONMENU = 59,
94    OLECMDID_ADDTRAVELENTRY = 60,
95    OLECMDID_UPDATETRAVELENTRY = 61,
96    OLECMDID_UPDATEBACKFORWARDSTATE = 62,
97    OLECMDID_OPTICAL_ZOOM = 63,
98    OLECMDID_OPTICAL_GETZOOMRANGE = 64,
99    OLECMDID_WINDOWSTATECHANGED = 65,
100    OLECMDID_ACTIVEXINSTALLSCOPE = 66,
101    OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67,
102    OLECMDID_SHOWTASKDLG = 68,
103    OLECMDID_POPSTATEEVENT = 69,
104    OLECMDID_VIEWPORT_MODE = 70,
105    OLECMDID_LAYOUT_VIEWPORT_WIDTH = 71,
106    OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM = 72,
107    OLECMDID_USER_OPTICAL_ZOOM = 73,
108    OLECMDID_PAGEAVAILABLE = 74,
109    OLECMDID_GETUSERSCALABLE = 75,
110    OLECMDID_UPDATE_CARET = 76,
111    OLECMDID_ENABLE_VISIBILITY = 77,
112    OLECMDID_MEDIA_PLAYBACK = 78,
113    OLECMDID_SETFAVICON = 79,
114    OLECMDID_SET_HOST_FULLSCREENMODE = 80,
115    OLECMDID_EXITFULLSCREEN = 81,
116    OLECMDID_SCROLLCOMPLETE = 82,
117    OLECMDID_ONBEFOREUNLOAD = 83,
118    OLECMDID_SHOWMESSAGE_BLOCKABLE = 84,
119    OLECMDID_SHOWTASKDLG_BLOCKABLE = 85,
120}}
121RIDL!{#[uuid(0xb722bccb, 0x4e68, 0x101b, 0xa2, 0xbc, 0x00, 0xaa, 0x00, 0x40, 0x47, 0x70)]
122interface IOleCommandTarget(IOleCommandTargetVtbl): IUnknown(IUnknownVtbl) {
123    fn QueryStatus(
124        pguidCmdGroup: *const GUID,
125        cCmds: ULONG,
126        prgCmds: *mut OLECMD,
127        pCmdText: *mut OLECMDTEXT,
128    ) -> HRESULT,
129    fn Exec(
130        pguidCmdGroup: *const GUID,
131        nCmdID: DWORD,
132        nCmdexecopt: DWORD,
133        pvaIn: *mut VARIANT,
134        pvaOut: *mut VARIANT,
135    ) -> HRESULT,
136}}