Added comctl32.ocx, KDEWin, Mono, .net, Media Player Classic, Python, Steam, Tahoma...
[reactos.git] / reactos / base / shell / explorer / explorer.h
1 /*
2 * Copyright 2003, 2004 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19
20 //
21 // Explorer clone
22 //
23 // explorer.h
24 //
25 // Martin Fuchs, 23.07.2003
26 //
27
28
29 #define _LIGHT_STARTMENU
30 #define _LAZY_ICONEXTRACT
31 #define _SINGLE_ICONEXTRACT
32 //#define _NO_WIN_FS
33
34
35 #include "utility/shellclasses.h"
36
37 #include "shell/entries.h"
38
39 #ifndef _NO_WIN_FS
40 #include "shell/winfs.h"
41 #endif
42
43 #include "shell/shellfs.h"
44
45 #ifndef ROSSHELL
46 #include "shell/unixfs.h"
47 #endif
48
49 #include "utility/window.h"
50
51
52 #define IDW_STATUSBAR 0x100
53 #define IDW_TOOLBAR 0x101
54 #define IDW_EXTRABAR 0x102
55 #define IDW_DRIVEBAR 0x103
56 #define IDW_ADDRESSBAR 0x104
57 #define IDW_SIDEBAR 0x106
58 #define IDW_FIRST_CHILD 0xC000 /*0x200*/
59
60
61 #define PM_GET_FILEWND_PTR (WM_APP+0x05)
62 #define PM_GET_SHELLBROWSER_PTR (WM_APP+0x06)
63
64 #define PM_GET_CONTROLWINDOW (WM_APP+0x16)
65
66 #define PM_RESIZE_CHILDREN (WM_APP+0x17)
67 #define PM_GET_WIDTH (WM_APP+0x18)
68
69 #define PM_REFRESH (WM_APP+0x1B)
70 #define PM_REFRESH_CONFIG (WM_APP+0x1C)
71
72
73 #define CLASSNAME_FRAME TEXT("CabinetWClass") // same class name for frame window as in MS Explorer
74
75 #define CLASSNAME_CHILDWND TEXT("WFS_Child")
76 #define CLASSNAME_WINEFILETREE TEXT("WFS_Tree")
77
78
79 #include "shell/pane.h"
80 #include "shell/filechild.h"
81 #include "shell/shellbrowser.h"
82
83
84 #ifndef ROSSHELL
85
86 /// Explorer command line parser
87 // for commands like "/e,/root,c:\"
88 // or "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}" (launch of control panel)
89 struct ExplorerCmd
90 {
91 ExplorerCmd()
92 : _flags(0),
93 _cmdShow(SW_SHOWNORMAL),
94 _mdi(false),
95 _valid_path(false)
96 {
97 }
98
99 ExplorerCmd(LPCTSTR url, bool mdi)
100 : _path(url),
101 _flags(0),
102 _cmdShow(SW_SHOWNORMAL),
103 _mdi(mdi),
104 _valid_path(true) //@@
105 {
106 }
107
108 bool ParseCmdLine(LPCTSTR lpCmdLine);
109 bool EvaluateOption(LPCTSTR option);
110 bool IsValidPath() const;
111
112 String _path;
113 int _flags; // OPEN_WINDOW_MODE
114 int _cmdShow;
115 bool _mdi;
116 bool _valid_path;
117 };
118
119 #include "shell/mainframe.h"
120
121 #endif