Use delayed imports instead of explicit GetProcAddress calls.
[wine] / programs / regedit / main.h
1 /*
2  * Regedit definitions
3  *
4  * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
5  *
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.
10  *
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.
15  *
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #ifndef __MAIN_H__
22 #define __MAIN_H__
23
24 #include "resource.h"
25
26
27 #define STATUS_WINDOW   2001
28 #define TREE_WINDOW     2002
29 #define LIST_WINDOW     2003
30
31 #define MAX_LOADSTRING  100
32 #define SPLIT_WIDTH             5
33 #define MAX_NAME_LEN    500
34
35 #define COUNT_OF(a) (sizeof(a)/sizeof(a[0]))
36
37 /******************************************************************************/
38
39 enum OPTION_FLAGS {
40     OPTIONS_AUTO_REFRESH               = 0x01,
41     OPTIONS_READ_ONLY_MODE             = 0x02,
42     OPTIONS_CONFIRM_ON_DELETE          = 0x04,
43     OPTIONS_SAVE_ON_EXIT                   = 0x08,
44     OPTIONS_DISPLAY_BINARY_DATA            = 0x10,
45     OPTIONS_VIEW_TREE_ONLY                 = 0x20,
46     OPTIONS_VIEW_DATA_ONLY                 = 0x40,
47 };
48
49 typedef struct {
50         HWND    hWnd;
51     HWND    hTreeWnd;
52     HWND    hListWnd;
53     int     nFocusPanel;      /* 0: left  1: right */
54         int             nSplitPos;
55         WINDOWPLACEMENT pos;
56         TCHAR   szPath[MAX_PATH];
57 } ChildWnd;
58 extern ChildWnd* pChildWnd;
59
60 /*******************************************************************************
61  * Global Variables:
62  */
63 extern HINSTANCE hInst;
64 extern HWND      hFrameWnd;
65 extern HMENU     hMenuFrame;
66 extern HWND      hStatusBar;
67 extern HFONT     hFont;
68 extern enum OPTION_FLAGS Options;
69
70 extern TCHAR szTitle[];
71 extern TCHAR szFrameClass[];
72 extern TCHAR szChildClass[];
73
74 /* about.c */
75 extern void ShowAboutBox(HWND hWnd);
76
77 /* childwnd.c */
78 extern LRESULT CALLBACK ChildWndProc(HWND, UINT, WPARAM, LPARAM);
79
80 /* framewnd.c */
81 extern LRESULT CALLBACK FrameWndProc(HWND, UINT, WPARAM, LPARAM);
82 extern void SetupStatusBar(HWND hWnd, BOOL bResize);
83 extern void UpdateStatusBar(void);
84
85 /* listview.c */
86 extern HWND CreateListView(HWND hwndParent, int id);
87 extern BOOL RefreshListView(HWND hwndTV, HKEY hKey, LPTSTR keyPath);
88
89 /* treeview.c */
90 extern HWND CreateTreeView(HWND hwndParent, LPTSTR pHostName, int id);
91 extern BOOL OnTreeExpanding(HWND hWnd, NMTREEVIEW* pnmtv);
92 extern HKEY FindRegRoot(HWND hwndTV, HTREEITEM hItem, LPTSTR keyPath, int* pPathLen, int max);
93
94 /* edit.c */
95 BOOL ModifyValue(HWND hwnd, HKEY hKey, LPTSTR valueName);
96
97 #endif /* __MAIN_H__ */