34 lines
2 KiB
C
34 lines
2 KiB
C
|
#pragma once
|
||
|
|
||
|
#include <string>
|
||
|
#include <vector>
|
||
|
#include "lib_begin.h"
|
||
|
|
||
|
namespace cgv {
|
||
|
namespace gui {
|
||
|
/** ask the user for a file name to open a file.
|
||
|
The filter string is composed of '|'-separated pairs of the form '<text>:<filter>', where
|
||
|
<text> is an arbitrary text (without '|' and ':' symbols) shown with the filter and <filter>
|
||
|
is one filter string or a ';'-separated list of filters. For example the filter parameter could
|
||
|
be set to "Image Files (jpg,gif):*.jpg;*.gif|Video Files (avi):*.avi|All Files:*.*".
|
||
|
The path parameter can be used to define an initial directory and or an initial file for the dialog:
|
||
|
- if path is empty no initial directory not path are selected,
|
||
|
- if path defines a directory, it is used as initial directory without initial file,
|
||
|
- if path defines file without directory the initial file is set and the standard directory is used
|
||
|
- if path defines a directory and file, both initial directory and file are set.
|
||
|
*/
|
||
|
extern CGV_API std::string file_open_dialog(const std::string& title, const std::string& filter, const std::string& path = "");
|
||
|
/// ask user for an open dialog that can select multiple files, return common path prefix and fill field of filenames
|
||
|
extern CGV_API std::string files_open_dialog(std::vector<std::string>& file_names, const std::string& title, const std::string& filter, const std::string& path = "");
|
||
|
/** ask the user for an existing directory. */
|
||
|
extern CGV_API std::string directory_open_dialog(const std::string& title, const std::string& path = "");
|
||
|
/** ask the user for a new directory. */
|
||
|
extern CGV_API std::string directory_save_dialog(const std::string& title, const std::string& path = "");
|
||
|
/** ask the user for a file name to save a file. The filter string uses the syntax defined in the docu of
|
||
|
file_open_dialog(). */
|
||
|
extern CGV_API std::string file_save_dialog(const std::string& title, const std::string& filter, const std::string& path = "");
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#include <cgv/config/lib_end.h>
|