open_file_dialog.h
1/*
2** ClanLib SDK
3** Copyright (c) 1997-2020 The ClanLib Team
4**
5** This software is provided 'as-is', without any express or implied
6** warranty. In no event will the authors be held liable for any damages
7** arising from the use of this software.
8**
9** Permission is granted to anyone to use this software for any purpose,
10** including commercial applications, and to alter it and redistribute it
11** freely, subject to the following restrictions:
12**
13** 1. The origin of this software must not be misrepresented; you must not
14** claim that you wrote the original software. If you use this software
15** in a product, an acknowledgment in the product documentation would be
16** appreciated but is not required.
17** 2. Altered source versions must be plainly marked as such, and must not be
18** misrepresented as being the original software.
19** 3. This notice may not be removed or altered from any source distribution.
20**
21** Note: Some of the libraries ClanLib may link to may have additional
22** requirements or restrictions.
23**
24** File Author(s):
25**
26** Kenneth Gangstoe
27*/
28
29#pragma once
30
31#include <memory>
32#include <string>
33#include <vector>
34
35namespace clan
36{
37 class View;
38 class FileDialogImpl;
39
42 {
43 public:
46
50 std::string filename() const;
51
53 std::vector<std::string> filenames() const;
54
57 void set_multi_select(bool multiselect);
58
60 void set_filename(const std::string &filename);
61
63 void add_filter(const std::string &filter_description, const std::string &filter_extension, bool is_default = false);
64
67
69 void set_filter_index(int filter_index);
70
72 void set_initial_directory(const std::string &path);
73
75 void set_title(const std::string &title);
76
79 bool show();
80
81 private:
82 std::shared_ptr<FileDialogImpl> impl;
83 };
84}
Displays the system open file dialog.
Definition open_file_dialog.h:42
std::string filename() const
Get the full path of the file selected.
void clear_filters()
Clears all filters.
OpenFileDialog(View *owner)
Constructs an open file dialog.
void set_filter_index(int filter_index)
Sets a default filter, on a 0-based index.
void set_title(const std::string &title)
Sets the text that appears in the title bar.
void set_multi_select(bool multiselect)
Sets if multiple files can be selected or not.
void set_initial_directory(const std::string &path)
Sets the initial directory that is displayed.
void set_filename(const std::string &filename)
Sets a string containing the full path of the file selected.
std::vector< std::string > filenames() const
Gets an array that contains one file name for each selected file.
bool show()
Shows the file dialog.
void add_filter(const std::string &filter_description, const std::string &filter_extension, bool is_default=false)
Add a filter that determines what types of files are displayed.
View for an area of the user interface.
Definition view.h:66
Definition clanapp.h:36