52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
|
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
|||
|
//
|
|||
|
// Purpose:
|
|||
|
//
|
|||
|
//=============================================================================//
|
|||
|
|
|||
|
#ifndef IFILESYSTEMOPENDIALOG_H
|
|||
|
#define IFILESYSTEMOPENDIALOG_H
|
|||
|
#ifdef _WIN32
|
|||
|
#pragma once
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#define FILESYSTEMOPENDIALOG_VERSION "FileSystemOpenDlg003"
|
|||
|
|
|||
|
|
|||
|
class IFileSystem;
|
|||
|
|
|||
|
|
|||
|
abstract_class IFileSystemOpenDialog
|
|||
|
{
|
|||
|
public:
|
|||
|
// You must call this first to set the hwnd.
|
|||
|
virtual void Init( CreateInterfaceFn factory, void *parentHwnd ) = 0;
|
|||
|
|
|||
|
// Call this to free the dialog.
|
|||
|
virtual void Release() = 0;
|
|||
|
|
|||
|
// Use these to configure the dialog.
|
|||
|
virtual void AddFileMask( const char *pMask ) = 0;
|
|||
|
virtual void SetInitialDir( const char *pDir, const char *pPathID = NULL ) = 0;
|
|||
|
virtual void SetFilterMdlAndJpgFiles( bool bFilter ) = 0;
|
|||
|
virtual void GetFilename( char *pOut, int outLen ) const = 0; // Get the filename they chose.
|
|||
|
|
|||
|
// Call this to make the dialog itself. Returns true if they clicked OK and false
|
|||
|
// if they canceled it.
|
|||
|
virtual bool DoModal() = 0;
|
|||
|
|
|||
|
// This uses the standard windows file open dialog.
|
|||
|
virtual bool DoModal_WindowsDialog() = 0;
|
|||
|
|
|||
|
// Mark the dialog as allowing us to multi-select
|
|||
|
virtual void AllowMultiSelect( bool bAllow ) = 0;
|
|||
|
|
|||
|
// Request the length of the buffer sufficient enough to hold the entire filename result
|
|||
|
virtual int GetFilenameBufferSize() const = 0;
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
#endif // IFILESYSTEMOPENDIALOG_H
|