source: trunk/src/comdlg32/filedlgbrowser.h@ 1555

Last change on this file since 1555 was 1549, checked in by sandervl, 26 years ago

* empty log message *

File size: 6.1 KB
Line 
1/* $Id: filedlgbrowser.h,v 1.1 1999-11-02 19:12:29 sandervl Exp $ */
2/*
3 * Implementation of IShellBrowser for the File Open common dialog
4 *
5 *
6 */
7
8#ifndef SHBROWSER_H
9#define SHBROWSER_H TRUE
10
11#include "shlobj.h"
12#include "winbase.h"
13#include "objbase.h"
14#include "commdlg.h"
15
16/***********************************************************************
17 * Defines and global variables
18 */
19#define _ICOM_THIS_FromICommDlgBrowser(Class,name) Class* This = (Class*) (((char*)name)-sizeof(void *))
20
21/***********************************************************************
22 * Data structure
23 */
24
25
26typedef struct
27{
28
29 ICOM_VTABLE(IShellBrowser)* lpVtbl; /* IShellBrowser VTable */
30 ICOM_VTABLE(ICommDlgBrowser)* lpVtbl2; /* ICommDlgBrowser VTable */
31 DWORD ref; /* Reference counter */
32 HWND hwndOwner; /* Owner dialog of the interface */
33
34} IShellBrowserImpl;
35
36typedef struct
37{
38
39 OPENFILENAMEA ofnInfos;
40 struct {
41 IShellBrowser *FOIShellBrowser;
42 IShellFolder *FOIShellFolder;
43 IShellView *FOIShellView;
44 } Shell;
45
46 struct {
47 HWND hwndOwner;
48 HWND hwndView;
49 RECT rectView;
50 FOLDERSETTINGS folderSettings;
51 LPITEMIDLIST pidlAbsCurrent;
52 LPWSTR lpstrCurrentFilter;
53 } ShellInfos;
54
55 struct {
56 HWND hwndFileTypeCB;
57 HWND hwndLookInCB;
58 HWND hwndFileName;
59 } DlgInfos;
60
61} FileOpenDlgInfos;
62
63/***********************************************************************
64 * Prototypes for the methods of the IShellBrowserImpl class
65 */
66/* Constructor */
67IShellBrowser * IShellBrowserImpl_Construct(HWND hwndOwner);
68
69/* IUnknown */
70HRESULT WINAPI IShellBrowserImpl_QueryInterface(IShellBrowser *iface,
71 REFIID riid,
72 LPVOID *ppvObj);
73
74ULONG WINAPI IShellBrowserImpl_AddRef(IShellBrowser * iface);
75
76ULONG WINAPI IShellBrowserImpl_Release(IShellBrowser * iface);
77
78/* IOleWindow */
79HRESULT WINAPI IShellBrowserImpl_GetWindow(IShellBrowser * iface,
80 HWND * phwnd);
81
82HRESULT WINAPI IShellBrowserImpl_ContextSensitiveHelp(IShellBrowser * iface,
83 BOOL fEnterMode);
84
85/* IShellBrowser */
86
87HRESULT WINAPI IShellBrowserImpl_BrowseObject(IShellBrowser *iface,
88 LPCITEMIDLIST pidl,
89 UINT wFlags);
90
91HRESULT WINAPI IShellBrowserImpl_EnableModelessSB(IShellBrowser *iface,
92 BOOL fEnable);
93
94HRESULT WINAPI IShellBrowserImpl_GetControlWindow(IShellBrowser *iface,
95 UINT id,
96 HWND *lphwnd);
97
98HRESULT WINAPI IShellBrowserImpl_GetViewStateStream(IShellBrowser *iface,
99 DWORD grfMode,
100 LPSTREAM *ppStrm);
101
102HRESULT WINAPI IShellBrowserImpl_InsertMenusSB(IShellBrowser *iface,
103 HMENU hmenuShared,
104 LPOLEMENUGROUPWIDTHS lpMenuWidths);
105
106HRESULT WINAPI IShellBrowserImpl_OnViewWindowActive(IShellBrowser *iface,
107 IShellView *ppshv);
108
109
110HRESULT WINAPI IShellBrowserImpl_QueryActiveShellView(IShellBrowser *iface,
111 IShellView **ppshv);
112
113HRESULT WINAPI IShellBrowserImpl_RemoveMenusSB(IShellBrowser *iface,
114 HMENU hmenuShared);
115
116HRESULT WINAPI IShellBrowserImpl_SendControlMsg(IShellBrowser *iface,
117 UINT id,
118 UINT uMsg,
119 WPARAM wParam,
120 LPARAM lParam,
121 LRESULT *pret);
122
123HRESULT WINAPI IShellBrowserImpl_SetMenuSB(IShellBrowser *iface,
124 HMENU hmenuShared,
125 HOLEMENU holemenuReserved,
126 HWND hwndActiveObject);
127
128HRESULT WINAPI IShellBrowserImpl_SetStatusTextSB(IShellBrowser *iface,
129 LPCOLESTR lpszStatusText);
130
131
132HRESULT WINAPI IShellBrowserImpl_SetToolbarItems(IShellBrowser *iface,
133 LPTBBUTTON lpButtons,
134 UINT nButtons,
135 UINT uFlags);
136
137HRESULT WINAPI IShellBrowserImpl_TranslateAcceleratorSB(IShellBrowser *iface,
138 LPMSG lpmsg,
139 WORD wID);
140
141
142/* ICommDlgBrowser */
143
144HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_QueryInterface(ICommDlgBrowser *iface,
145 REFIID riid,
146 LPVOID *ppvObj);
147
148ULONG WINAPI IShellBrowserImpl_ICommDlgBrowser_AddRef(ICommDlgBrowser * iface);
149
150ULONG WINAPI IShellBrowserImpl_ICommDlgBrowser_Release(ICommDlgBrowser * iface);
151
152HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_OnDefaultCommand(ICommDlgBrowser *iface,
153 IShellView *ppshv);
154
155HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_OnStateChange(ICommDlgBrowser *iface,
156 IShellView *ppshv,
157 ULONG uChange);
158
159HRESULT WINAPI IShellBrowserImpl_ICommDlgBrowser_IncludeObject(ICommDlgBrowser *iface,
160 IShellView * ppshv,
161 LPCITEMIDLIST pidl);
162
163
164#endif /*SHBROWSER_H*/
Note: See TracBrowser for help on using the repository browser.