oleview: Added base menu funcionality.
[wine/gsoc_dplay.git] / programs / oleview / main.h
blob13015e6a7719fb5b8560d323a1bb653071c8cf79
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 <unknwn.h>
27 #include <wine/unicode.h>
29 #include "resource.h"
31 #define MAX_LOAD_STRING 256
32 #define MAX_WINDOW_WIDTH 30000
34 #define STATUS_WINDOW 2000
35 #define TREE_WINDOW 2001
37 /*ItemInfo flags */
38 #define REGTOP 1
39 #define REGPATH 2
40 #define SHOWALL 4
41 #define INTERFACE 8
43 typedef struct
45 HWND hMainWnd;
46 HWND hPaneWnd;
47 HWND hTree;
48 HWND hStatusBar;
49 HWND hToolBar;
50 HINSTANCE hMainInst;
51 BOOL bExpert;
52 DWORD dwClsCtx;
53 }GLOBALS;
55 typedef struct
57 HWND left;
58 HWND right;
59 INT pos;
60 INT size;
61 INT width;
62 INT height;
63 INT last;
64 }PANE;
66 typedef struct
68 /* Main TreeView entries: */
69 HTREEITEM hOC; /* Object Classes */
70 HTREEITEM hGBCC; /* Grouped by Component Category */
71 HTREEITEM hO1O; /* OLE 1.0 Objects */
72 HTREEITEM hCLO; /* COM Library Objects */
73 HTREEITEM hAO; /* All Objects */
74 HTREEITEM hAID; /* Application IDs */
75 HTREEITEM hTL; /* Type Libraries */
76 HTREEITEM hI; /* Interfaces */
77 }TREE;
79 typedef struct
81 CHAR cFlag;
82 WCHAR info[MAX_LOAD_STRING];
83 WCHAR clsid[MAX_LOAD_STRING];
84 BOOL loaded;
85 IUnknown *pU;
86 }ITEM_INFO;
88 extern GLOBALS globals;
89 extern TREE tree;
91 /* Predefinitions: */
92 /* oleview.c */
93 void RefreshMenu(HTREEITEM item);
95 /* pane.c */
96 BOOL CreatePanedWindow(HWND hWnd, HWND *hWndCreated, HINSTANCE hInst);
97 void SetLeft(HWND hParent, HWND hWnd);
98 void SetRight(HWND hParent, HWND hWnd);
100 /* tree.h */
101 void EmptyTree(void);
102 void AddTreeEx(void);
103 void AddTree(void);
104 HWND CreateTreeWindow(HINSTANCE hInst);
105 void CreateInst(HTREEITEM item);
106 void ReleaseInst(HTREEITEM item);