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 { ExplorerCmdExplorerCmd91 ExplorerCmd() 92 : _flags(0), 93 _cmdShow(SW_SHOWNORMAL), 94 _mdi(false), 95 _valid_path(false) 96 { 97 } 98 ExplorerCmdExplorerCmd99 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 WCHAR szPath[MAX_PATH]; 114 int _flags; // OPEN_WINDOW_MODE 115 int _cmdShow; 116 bool _mdi; 117 bool _valid_path; 118 }; 119 120 #include "shell/mainframe.h" 121 122 #endif 123