wine/programs/oleview/main.h

107 lines
2.4 KiB
C
Raw Normal View History

2006-06-14 17:50:28 +00:00
/*
* OleView (main.h)
*
* Copyright 2006 Piotr Caban
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define COBJMACROS
#include <windows.h>
#include <winreg.h>
#include <commctrl.h>
#include <unknwn.h>
#include <wine/unicode.h>
#include "resource.h"
#define MAX_LOAD_STRING 256
2006-06-14 17:51:27 +00:00
#define MAX_WINDOW_WIDTH 30000
2006-06-14 17:50:28 +00:00
#define STATUS_WINDOW 2000
2006-06-14 17:52:26 +00:00
#define TREE_WINDOW 2001
/*ItemInfo flags */
#define REGTOP 1
#define REGPATH 2
#define SHOWALL 4
#define INTERFACE 8
2006-06-14 17:50:28 +00:00
typedef struct
{
HWND hMainWnd;
2006-06-14 17:51:27 +00:00
HWND hPaneWnd;
2006-06-14 17:52:26 +00:00
HWND hTree;
2006-06-14 17:50:28 +00:00
HWND hStatusBar;
HWND hToolBar;
HINSTANCE hMainInst;
2006-06-14 17:55:08 +00:00
BOOL bExpert;
2006-06-14 17:53:47 +00:00
DWORD dwClsCtx;
2006-06-14 17:50:28 +00:00
}GLOBALS;
2006-06-14 17:51:27 +00:00
typedef struct
{
HWND left;
HWND right;
INT pos;
INT size;
INT width;
INT height;
INT last;
}PANE;
2006-06-14 17:52:26 +00:00
typedef struct
{
/* Main TreeView entries: */
HTREEITEM hOC; /* Object Classes */
HTREEITEM hGBCC; /* Grouped by Component Category */
HTREEITEM hO1O; /* OLE 1.0 Objects */
HTREEITEM hCLO; /* COM Library Objects */
HTREEITEM hAO; /* All Objects */
HTREEITEM hAID; /* Application IDs */
HTREEITEM hTL; /* Type Libraries */
HTREEITEM hI; /* Interfaces */
}TREE;
typedef struct
{
CHAR cFlag;
WCHAR info[MAX_LOAD_STRING];
WCHAR clsid[MAX_LOAD_STRING];
BOOL loaded;
IUnknown *pU;
}ITEM_INFO;
2006-06-14 17:50:28 +00:00
extern GLOBALS globals;
2006-06-14 17:52:26 +00:00
extern TREE tree;
2006-06-14 17:51:27 +00:00
/* Predefinitions: */
2006-06-14 17:55:08 +00:00
/* oleview.c */
void RefreshMenu(HTREEITEM item);
2006-06-14 17:51:27 +00:00
/* pane.c */
BOOL CreatePanedWindow(HWND hWnd, HWND *hWndCreated, HINSTANCE hInst);
2006-06-14 17:52:26 +00:00
void SetLeft(HWND hParent, HWND hWnd);
void SetRight(HWND hParent, HWND hWnd);
/* tree.h */
void EmptyTree(void);
2006-06-14 17:55:08 +00:00
void AddTreeEx(void);
void AddTree(void);
2006-06-14 17:52:26 +00:00
HWND CreateTreeWindow(HINSTANCE hInst);
2006-06-14 17:55:08 +00:00
void CreateInst(HTREEITEM item);
void ReleaseInst(HTREEITEM item);