00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00031
00032 #pragma once
00033
00034 #include "../api_gui.h"
00035 #include "../gui_component.h"
00036
00037 class CL_FileDialog_Impl;
00038
00042 class CL_API_GUI CL_OpenFileDialog
00043 {
00046 public:
00049 CL_OpenFileDialog(CL_GUIComponent *owner);
00050
00051 virtual ~CL_OpenFileDialog();
00052
00056 public:
00061 CL_String get_filename() const;
00062
00065 std::vector<CL_String> get_filenames() const;
00066
00070 public:
00073 void set_multi_select(bool multiselect);
00074
00077 void set_filename(const CL_String &filename);
00078
00083 void add_filter(const CL_String &filter_description, const CL_String &filter_extension, bool is_default = false);
00084
00086 void clear_filters();
00087
00090 void set_filter_index(int filter_index);
00091
00094 void set_initial_directory(const CL_String &path);
00095
00098 void set_title(const CL_String &title);
00099
00102 bool show();
00103
00107 private:
00108 CL_SharedPtr<CL_FileDialog_Impl> impl;
00110 };
00111