file-picker.windows: mock up some code for windows.
parent
0edddbafd2
commit
defd931d21
|
@ -1 +1,69 @@
|
|||
USING: file-picker windows.shell32 windows.types ;
|
||||
IN: file-picker.windows
|
||||
|
||||
LIBRARY: shell32
|
||||
|
||||
TYPEDEF: void* PIDLIST_ABSOLUTE
|
||||
TYPEDEF: void* BFFCALLBACK
|
||||
|
||||
FUNCTION: HRESULT SHGetFolderLocation (
|
||||
HWND hwndOwner,
|
||||
int nFolder,
|
||||
HANDLE hToken,
|
||||
DWORD dwReserved,
|
||||
PIDLIST_ABSOLUTE* ppidl
|
||||
) ;
|
||||
|
||||
STRUCT: BROWSEINFO
|
||||
{ hwndOwner HWND }
|
||||
{ pidlRoot PCIDLIST_ABSOLUTE }
|
||||
{ pszDisplayName LPTSTR }
|
||||
{ lpszTitle LPCTSTR }
|
||||
{ ulFlags UINT }
|
||||
{ lpfn BFFCALLBACK }
|
||||
{ lParam LPARAM }
|
||||
{ iImage int }
|
||||
} ;
|
||||
|
||||
CONSTANT: BIF_RETURNONLYFSDIRS 0x00000001
|
||||
CONSTANT: BIF_DONTGOBELOWDOMAIN 0x00000002
|
||||
CONSTANT: BIF_STATUSTEXT 0x00000004
|
||||
CONSTANT: BIF_RETURNFSANCESTORS 0x00000008
|
||||
CONSTANT: BIF_EDITBOX 0x00000010
|
||||
CONSTANT: BIF_VALIDATE 0x00000020
|
||||
CONSTANT: BIF_NEWDIALOGSTYLE 0x00000040
|
||||
CONSTANT: BIF_BROWSEINCLUDEURLS 0x00000080
|
||||
CONSTANT: BIF_USENEWUI flags{ BIF_EDITBOX BIF_NEWDIALOGSTYLE }
|
||||
CONSTANT: BIF_UAHINT 0x00000100
|
||||
CONSTANT: BIF_NONEWFOLDERBUTTON 0x00000200
|
||||
CONSTANT: BIF_NOTRANSLATETARGETS 0x00000400
|
||||
CONSTANT: BIF_BROWSEFORCOMPUTER 0x00001000
|
||||
CONSTANT: BIF_BROWSEFORPRINTER 0x00002000
|
||||
CONSTANT: BIF_BROWSEINCLUDEFILES 0x00004000
|
||||
CONSTANT: BIF_SHAREABLE 0x00008000
|
||||
CONSTANT: BIF_BROWSEFILEJUNCTIONS 0x00010000
|
||||
|
||||
FUNCTION: PIDLIST_ABSOLUTE SHBrowseForFolder (
|
||||
BROWSEINFO* lpbi
|
||||
) ;
|
||||
|
||||
FUNCTION: BOOL SHGetPathFromIDList (
|
||||
PCIDLIST_ABSOLUTE pidl,
|
||||
LPTSTR pszPath
|
||||
) ;
|
||||
|
||||
|
||||
M: windows open-file-dialog
|
||||
BROWSEINFO <struct>
|
||||
GetDesktopWindow >>hwndOwner
|
||||
0 CSIDL_PERSONAL 0 0 SHGetFolderLocation >>pidlRoot
|
||||
"Select a file or folder" >>lpszTitle
|
||||
BIF_BROWSEINCLUDEFILES >>ulFlags
|
||||
SHBrowseForFolder [
|
||||
void* <ref> [ SHGetPathFromIDList ] keep
|
||||
alien>native-string
|
||||
] [
|
||||
f
|
||||
] if* ;
|
||||
|
||||
M: windows save-file-dialog ;
|
||||
|
|
Loading…
Reference in New Issue