Implemented explorer and desktop window using shell views
[reactos.git] / reactos / subsys / system / explorer / explorer.h
1 /*
2 * Copyright 2003 Martin Fuchs
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18
19
20 //
21 // Explorer clone
22 //
23 // explorer.h
24 //
25 // Martin Fuchs, 23.07.2003
26 //
27
28
29 #include "shell/entries.h"
30
31 #include "shell/winfs.h"
32 #include "shell/unixfs.h"
33 #include "shell/shellfs.h"
34
35 #include "utility/window.h"
36
37
38 #define BUFFER_LEN 1024
39
40
41 #define IDW_STATUSBAR 0x100
42 #define IDW_TOOLBAR 0x101
43 #define IDW_DRIVEBAR 0x102
44 #define IDW_FIRST_CHILD 0xC000 /*0x200*/
45
46
47 #define WM_TRANSLATE_MSG (WM_APP+2)
48 #define WM_GET_FILEWND_PTR (WM_APP+3)
49
50 #define FRM_CALC_CLIENT (WM_APP+4)
51 #define Frame_CalcFrameClient(hwnd, prt) ((BOOL)SNDMSG(hwnd, FRM_CALC_CLIENT, 0, (LPARAM)(PRECT)prt))
52
53 #define WM_OPEN_WINDOW (WM_APP+5)
54
55 #define WM_GET_CONTROLWINDOW (WM_APP+6)
56
57
58 #define CLASSNAME_FRAME TEXT("CabinetWClass") // same class name for frame window as in MS Explorer
59
60 #define CLASSNAME_CHILDWND TEXT("WFS_Child")
61 #define CLASSNAME_WINEFILETREE TEXT("WFS_Tree")
62
63
64 struct String
65 #ifdef UNICODE
66 : public wstring
67 #else
68 : public string
69 #endif
70 {
71 operator LPCTSTR() const {return c_str();}
72 };
73
74 struct ResString : public String
75 {
76 ResString(UINT nid);
77 };
78
79
80 #include "shell/mainframe.h"
81 #include "shell/pane.h"
82 #include "shell/filechild.h"
83 #include "shell/shellbrowser.h"