| /* | |
| * Copyright 2000, 2003, 2004 Martin Fuchs | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| */ | |
| #define WIN32_LEAN_AND_MEAN | |
| #define WIN32_EXTRA_LEAN | |
| #define NOSERVICE | |
| #define NOMCX | |
| #define NOIME | |
| #define NOCOMM | |
| #define NOKANJI | |
| #define NORPC | |
| #define NOPROXYSTUB | |
| #define NOIMAGE | |
| #define NOTAPE | |
| #ifdef UNICODE | |
| #define _UNICODE | |
| #include <wchar.h> | |
| #endif | |
| #include <windows.h> | |
| #include <windowsx.h> | |
| #include <commctrl.h> | |
| #include <commdlg.h> | |
| #include <shellapi.h> | |
| #include <stdlib.h> | |
| #include <stdio.h> | |
| #include <tchar.h> | |
| #include <ctype.h> | |
| #ifdef _MSC_VER | |
| #include <malloc.h> /* for alloca() */ | |
| #endif | |
| #ifndef FILE_ATTRIBUTE_NOT_CONTENT_INDEXED | |
| #define FILE_ATTRIBUTE_ENCRYPTED 0x00000040 | |
| #define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200 | |
| #define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 | |
| #define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 | |
| #endif | |
| #ifdef _DEBUG | |
| #define ASSERT(x) {if (!(x)) DebugBreak();} | |
| #else | |
| #define ASSERT(x) /* nothing */ | |
| #endif | |
| #define BUFFER_LEN 1024 | |
| enum IMAGE { | |
| IMG_NONE=-1, IMG_FILE=0, IMG_DOCUMENT, IMG_EXECUTABLE, | |
| IMG_FOLDER, IMG_OPEN_FOLDER, IMG_FOLDER_PLUS,IMG_OPEN_PLUS, IMG_OPEN_MINUS, | |
| IMG_FOLDER_UP, IMG_FOLDER_CUR | |
| }; | |
| #define IMAGE_WIDTH 16 | |
| #define IMAGE_HEIGHT 13 | |
| #define SPLIT_WIDTH 5 | |
| #define TREE_LINE_DX 3 | |
| #define IDW_STATUSBAR 0x100 | |
| #define IDW_TOOLBAR 0x101 | |
| #define IDW_DRIVEBAR 0x102 | |
| #define IDW_FIRST_CHILD 0xC000 /*0x200*/ | |
| #define IDW_TREE_LEFT 3 | |
| #define IDW_TREE_RIGHT 6 | |
| #define IDW_HEADER_LEFT 2 | |
| #define IDW_HEADER_RIGHT 5 | |
| #define WM_DISPATCH_COMMAND 0xBF80 | |
| #define COLOR_COMPRESSED RGB(0,0,255) | |
| #define COLOR_SELECTION RGB(0,0,128) | |
| #ifdef _NO_EXTENSIONS | |
| #define COLOR_SPLITBAR WHITE_BRUSH | |
| #else | |
| #define COLOR_SPLITBAR LTGRAY_BRUSH | |
| #endif | |
| #define FRM_CALC_CLIENT 0xBF83 | |
| #define Frame_CalcFrameClient(hwnd, prt) ((BOOL)SNDMSG(hwnd, FRM_CALC_CLIENT, 0, (LPARAM)(PRECT)prt)) | |
| #ifndef _NO_EXTENSIONS | |
| #define _SHELL_FOLDERS | |
| #include <objbase.h> | |
| #include <shlobj.h> | |
| #endif | |
| typedef struct | |
| { | |
| HANDLE hInstance; | |
| HACCEL haccel; | |
| ATOM hframeClass; | |
| HWND hwndParent; | |
| HWND hMainWnd; | |
| HMENU hMenuFrame; | |
| HMENU hWindowsMenu; | |
| HMENU hLanguageMenu; | |
| HMENU hMenuView; | |
| HMENU hMenuOptions; | |
| HWND hmdiclient; | |
| HWND hstatusbar; | |
| HWND htoolbar; | |
| HWND hdrivebar; | |
| HFONT hfont; | |
| TCHAR num_sep; | |
| SIZE spaceSize; | |
| HIMAGELIST himl; | |
| TCHAR drives[BUFFER_LEN]; | |
| BOOL prescan_node; /*TODO*/ | |
| #ifdef _SHELL_FOLDERS | |
| IShellFolder* iDesktop; | |
| IMalloc* iMalloc; | |
| UINT cfStrFName; | |
| #endif | |
| } WINEFILE_GLOBALS; | |
| extern WINEFILE_GLOBALS Globals; | |
| #ifdef __WINE__ | |
| #ifdef UNICODE | |
| extern void _wsplitpath(const WCHAR* path, WCHAR* drv, WCHAR* dir, WCHAR* name, WCHAR* ext); | |
| #else | |
| extern void _splitpath(const CHAR* path, CHAR* drv, CHAR* dir, CHAR* name, CHAR* ext); | |
| #endif | |
| #endif |