#pragma once #include #include namespace UsdLayerManager { class FileDialog { public: // Open file dialog static std::string OpenFile( const char* filter = "USD Files (*.usd;*.usda;*.usdc)\0*.usd;*.usda;*.usdc\0All Files (*.*)\0*.*\0", const char* title = "Open USD File", HWND owner = nullptr ); // Save file dialog static std::string SaveFile( const char* filter = "USD Files (*.usd;*.usda;*.usdc)\0*.usd;*.usda;*.usdc\0All Files (*.*)\0*.*\0", const char* title = "Save USD File", const char* defaultExt = "usd", HWND owner = nullptr ); // Folder picker (Vista-style IFileOpenDialog) static std::string BrowseFolder( const char* title = "Select Output Folder", HWND owner = nullptr ); private: static const int MAX_PATH_LENGTH = 4096; }; } // namespace UsdLayerManager