6 * Copyright (C) 2002 Robert Dickenson <robd@reactos.org>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 * Based on Winefile, Copyright 2000 martin Fuchs <martin-fuchs@gmx.net>
38 ////////////////////////////////////////////////////////////////////////////////
40 #define MAX_LOADSTRING 100
41 #define BUFFER_LEN 1024
43 #define WM_DISPATCH_COMMAND 0xBF80
45 ////////////////////////////////////////////////////////////////////////////////
46 // range for drive bar command ids: 0x9000..0x90FF
47 #define ID_DRIVE_FIRST 0x9001
50 #define _NO_EXTENSIONS
53 IMG_NONE
=-1, IMG_FILE
=0, IMG_DOCUMENT
, IMG_EXECUTABLE
,
54 IMG_FOLDER
, IMG_OPEN_FOLDER
, IMG_FOLDER_PLUS
,IMG_OPEN_PLUS
, IMG_OPEN_MINUS
,
55 IMG_FOLDER_UP
, IMG_FOLDER_CUR
58 #define IMAGE_WIDTH 16
59 #define IMAGE_HEIGHT 13
62 #define IDW_STATUSBAR 0x100
63 #define IDW_TOOLBAR 0x101
64 #define IDW_DRIVEBAR 0x102
65 #define IDW_DRIVEBOX 0x103
67 #define IDW_FIRST_CHILD 0xC000 //0x200
69 //#define IDW_TREE_LEFT 3
70 //#define IDW_TREE_RIGHT 6
71 //#define IDW_HEADER_LEFT 2
72 //#define IDW_HEADER_RIGHT 5
74 #define IDW_STATUS_WINDOW 7
79 ////////////////////////////////////////////////////////////////////////////////
80 void _wsplitpath(const WCHAR
* path
, WCHAR
* drv
, WCHAR
* dir
, WCHAR
* name
, WCHAR
* ext
);
81 void _splitpath(const CHAR
* path
, CHAR
* drv
, CHAR
* dir
, CHAR
* name
, CHAR
* ext
);
84 #define _tsplitpath _wsplitpath
86 #define _tsplitpath _splitpath
89 ////////////////////////////////////////////////////////////////////////////////
92 OPTIONS_OPEN_NEW_WINDOW_ON_CONNECT
= 0x01,
93 OPTIONS_MINIMISE_ON_USE
= 0x02,
94 OPTIONS_SAVE_ON_EXIT
= 0x04,
97 ////////////////////////////////////////////////////////////////////////////////
103 COL_ATTRIBUTES
= 0x08,
105 #ifdef _NO_EXTENSIONS
106 COL_ALL
= COL_SIZE
|COL_DATE
|COL_TIME
|COL_ATTRIBUTES
|COL_DOSNAMES
110 COL_ALL
= COL_SIZE
|COL_DATE
|COL_TIME
|COL_ATTRIBUTES
|COL_DOSNAMES
|COL_INDEX
|COL_LINKS
114 #define USE_GLOBAL_STRUCT
115 #ifdef USE_GLOBAL_STRUCT
137 TCHAR drives
[BUFFER_LEN
];
138 BOOL prescan_node
; //TODO
141 UINT wStringTableOffset
;
142 enum OPTION_FLAGS Options
;
146 extern WINFILE_GLOBALS Globals
;
148 #define STRINGID(id) (Globals.wStringTableOffset + 0x##id)
152 extern HINSTANCE hInstance
;
153 extern HACCEL hAccel
;
154 extern HWND hMainWnd
;
155 extern HMENU hMenuFrame
;
156 extern HMENU hWindowsMenu
;
157 extern HMENU hLanguageMenu
;
158 extern HMENU hMenuView
;
159 extern HMENU hMenuOptions
;
160 extern HWND hMDIClient
;
161 extern HWND hStatusBar
;
162 extern HWND hToolBar
;
163 extern HWND hDriveBar
;
166 extern TCHAR num_sep
;
167 extern SIZE spaceSize
;
168 extern HIMAGELIST himl
;
170 extern TCHAR drives
[BUFFER_LEN
];
171 extern BOOL prescan_node
; //TODO
173 extern LPCSTR lpszLanguage
;
174 extern UINT wStringTableOffset
;
180 extern UINT OemCodePage
;
181 extern UINT AnsiCodePage
;
182 extern LCID UserDefaultLCID
;
184 extern HINSTANCE hInst
;
185 extern TCHAR szTitle
[];
186 extern TCHAR szFrameClass
[];
187 extern TCHAR szChildClass
[];
190 void SetupStatusBar(BOOL bResize
);
191 void UpdateStatusBar(void);
193 #if __MINGW32_MAJOR_VERSION == 1
194 typedef struct tagNMITEMACTIVATE
{
204 } NMITEMACTIVATE
, FAR
*LPNMITEMACTIVATE
;