d3d9: Update presentation parameters when creating a swap chain.
[wine.git] / programs / oleview / main.h
blob491a89f053a1a5b8e7574757c4d4626e25195a60
1 /*
2 * OleView (main.h)
4 * Copyright 2006 Piotr Caban
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #define COBJMACROS
23 #include <windows.h>
24 #include <winreg.h>
25 #include <commctrl.h>
26 #include <commdlg.h>
27 #include <unknwn.h>
29 #include "resource.h"
31 #define MAX_LOAD_STRING 256
32 #define MAX_WINDOW_WIDTH 30000
33 #define MIN_FUNC_ID 0x60000000
34 #define MIN_VAR_ID 0x40000000
35 #define TAB_SIZE 4
37 #define STATUS_WINDOW 2000
38 #define TREE_WINDOW 2001
39 #define TAB_WINDOW 2002
40 #define TYPELIB_TREE 2003
42 /*ItemInfo flags */
43 #define REGTOP 1
44 #define REGPATH 2
45 #define SHOWALL 4
46 #define INTERFACE 8
48 typedef struct
50 HWND hMainWnd;
51 HWND hPaneWnd;
52 HWND hStatusBar;
53 HWND hToolBar;
54 HWND hTree;
55 HWND hDetails;
56 HWND hTypeLibWnd;
57 HINSTANCE hMainInst;
58 BOOL bExpert;
59 DWORD dwClsCtx;
60 WCHAR wszMachineName[MAX_LOAD_STRING];
61 }GLOBALS;
63 typedef struct
65 HWND left;
66 HWND right;
67 INT pos;
68 INT size;
69 INT width;
70 INT height;
71 INT last;
72 }PANE;
74 typedef struct
76 /* Main TreeView entries: */
77 HTREEITEM hOC; /* Object Classes */
78 HTREEITEM hGBCC; /* Grouped by Component Category */
79 HTREEITEM hO1O; /* OLE 1.0 Objects */
80 HTREEITEM hCLO; /* COM Library Objects */
81 HTREEITEM hAO; /* All Objects */
82 HTREEITEM hAID; /* Application IDs */
83 HTREEITEM hTL; /* Type Libraries */
84 HTREEITEM hI; /* Interfaces */
85 }TREE;
87 typedef struct
89 CHAR cFlag;
90 WCHAR info[MAX_LOAD_STRING];
91 WCHAR clsid[MAX_LOAD_STRING];
92 WCHAR path[MAX_LOAD_STRING];
93 BOOL loaded;
94 IUnknown *pU;
95 }ITEM_INFO;
97 typedef struct
99 HWND hStatic;
100 HWND hTab;
101 HWND hReg;
102 }DETAILS;
104 typedef struct
106 HWND hPaneWnd;
107 HWND hTree;
108 HWND hEdit;
109 HWND hStatusBar;
110 WCHAR wszFileName[MAX_LOAD_STRING];
111 }TYPELIB;
113 typedef struct
115 WCHAR *idl;
116 WCHAR wszInsertAfter[MAX_LOAD_STRING];
117 INT idlLen;
118 BOOL bPredefine;
119 BOOL bHide;
120 }TYPELIB_DATA;
122 extern GLOBALS globals;
123 extern TREE tree;
124 extern TYPELIB typelib;
126 /* Predefinitions: */
127 /* details.c */
128 HWND CreateDetailsWindow(HINSTANCE hInst);
129 void RefreshDetails(HTREEITEM item);
131 /* oleview.c */
132 void RefreshMenu(HTREEITEM item);
134 /* pane.c */
135 BOOL CreatePanedWindow(HWND hWnd, HWND *hWndCreated, HINSTANCE hInst);
136 BOOL PaneRegisterClassW(void);
137 void SetLeft(HWND hParent, HWND hWnd);
138 void SetRight(HWND hParent, HWND hWnd);
140 /* tree.c */
141 void EmptyTree(void);
142 void AddTreeEx(void);
143 void AddTree(void);
144 HWND CreateTreeWindow(HINSTANCE hInst);
145 BOOL CreateRegPath(HTREEITEM item, WCHAR *buffer, int bufSize);
146 void CreateInst(HTREEITEM item, WCHAR *wszMachineName);
147 void ReleaseInst(HTREEITEM item);
149 /* typelib.c */
150 BOOL CreateTypeLibWindow(HINSTANCE hInst, WCHAR *wszFileName);
151 BOOL TypeLibRegisterClassW(void);
152 void UpdateData(HTREEITEM item);
154 /* interface.c */
155 BOOL IsInterface(HTREEITEM item);
156 void InterfaceViewer(HTREEITEM item);