topic "FileSel";
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
[l288;2 $$2,0#27521748481378242620020725143825:desc]
[0 $$3,0#96390100711032703541132217272105:end]
[H6;0 $$4,0#05600065144404261032431302351956:begin]
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
[b42;2 $$9,9#13035079074754324216151401829390:normal]
[2 $$0,0#00000000000000000000000000000000:Default]
[{_} 
[ {{10000@3 [s0;%% [*@(229)4 FileSel]]}}&]
[s3; &]
[s1;:FileSel`:`:class: [@(0.0.255) class]_[* FileSel]_:_[@(0.0.255) public]_[*@3 WithFileSelec
torLayout][@(0.0.255) <][_^TopWindow^ TopWindow][@(0.0.255) >]_&]
[s0; &]
[s2;%% 
@@rawimage:2842&1871
([encoded data, 55444 characters])
&]
[s2;%% &]
[s9;%% Dialog for selecting files or directories.&]
[s3; &]
[s0; &]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
[s3;%% &]
[s5;:FileSel`:`:WhenIcon: [_^Callback3^ Callback3][@(0.0.255) <bool], 
[@(0.0.255) const]_String[@(0.0.255) `&], Image[@(0.0.255) `&>]_[* WhenIcon]&]
[s2;%% This callback can be used to alter icons for files. First 
parameter designates directory, second is the filename. Client 
code can alter Image passed as third parameter.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:WhenIconLazy: [@(0.0.255) void]_(`*[* WhenIconLazy])([@(0.0.255) const]_Str
ing[@(0.0.255) `&]_path, Image[@(0.0.255) `&]_result)&]
[s2;%% When not NULL, this function is called in separate thread 
for additional resolving of file icon. Note that FileSel, when 
closed/destroyed, does not wait for this function to finish, 
so it should not rely on any data outside of function.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Serialize`(Stream`&`): [@(0.0.255) void]_[* Serialize]([_^Stream^ Stream][@(0.0.255) `&
]_[*@3 s])&]
[s2;%% Serializes current settings of FileSel. That includes current 
directory, currently selected file type, size of FileSel window, 
LRU list of visited directories and `"Sort by`" switch state.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:ExecuteOpen`(const char`*`): [@(0.0.255) bool]_[* ExecuteOpen]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 title]_`=_NULL)&]
[s2;%% Executes `"Open file`" dialog. [%-*@3 title] can specify alternate 
caption of dialog. If user selects a file to open, returns true.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:ExecuteSaveAs`(const char`*`): [@(0.0.255) bool]_[* ExecuteSaveAs]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 title]_`=_NULL)&]
[s2;%% Executes `"Save as`" dialog. [%-*@3 title] can specify alternate 
caption of dialog. If user selects a destination file, returns 
true.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:ExecuteSelectDir`(const char`*`): [@(0.0.255) bool]_[* ExecuteSelectDir](
[@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 title]_`=_NULL)&]
[s2;%% Executes directory selection dialog. [%-*@3 title] can specify 
alternate caption of dialog. If user selects a file to open, 
returns true.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Get`(`)const: [_^String^ String]_[* Get]()_[@(0.0.255) const]&]
[s2;%% Returns the path of the first chosen file. If there is none, 
returns empty String.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Set`(const String`&`): [@(0.0.255) void]_[* Set]([@(0.0.255) const]_[_^String^ S
tring][@(0.0.255) `&]_[*@3 s])&]
[s2;%% Sets [%-*@3 s] to be the chosen file: if it contains a full path, 
file selector goes to the directory, filename is put into the 
file name editor of file selector.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Set`(const Vector`<String`>`&`): [@(0.0.255) void]_[* Set]([@(0.0.255) cons
t]_[_^Vector^ Vector][@(0.0.255) <][_^String^ String][@(0.0.255) >`&]_[*@3 s])&]
[s2;%% Sets a group of files to be chosen.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:operator String`(`)const: [* operator_String]()_[@(0.0.255) const]&]
[s2;%% Same as Get().&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:operator`=`(const String`&`): [@(0.0.255) void]_[* operator`=]([@(0.0.255) c
onst]_[_^String^ String][@(0.0.255) `&]_[*@3 s])&]
[s2;%% Same as Set([%-*@3 s]).&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:operator`~`(`)const: [_^String^ String]_[* operator`~]()_[@(0.0.255) const]&]
[s2;%% Same as Get().&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:operator`<`<`=`(const String`&`): [@(0.0.255) void]_[* operator<<`=]([@(0.0.255) c
onst]_[_^String^ String][@(0.0.255) `&]_[*@3 s])&]
[s2;%% Same as Set([%-*@3 s]).&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:GetCount`(`)const: [@(0.0.255) int]_[* GetCount]()_[@(0.0.255) const]&]
[s2;%% Returns a count of chosen files.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:GetFile`(int`)const: [_^String^ String]_[* GetFile]([@(0.0.255) int]_[*@3 i])
_[@(0.0.255) const]&]
[s2;%% Returns a chosen file [%-*@3 i].&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:operator`[`]`(int`)const: [_^String^ String]_[* operator`[`]]([@(0.0.255) i
nt]_[*@3 i])_[@(0.0.255) const]&]
[s2;%% Same as GetFile([%-*@3 i]).&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:ClearFiles`(`): [@(0.0.255) void]_[* ClearFiles]()&]
[s2;%% Clear the selection of files.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:GetReadOnly`(`)const: [@(0.0.255) bool]_[* GetReadOnly]()_[@(0.0.255) const
]&]
[s2;%% Returns the status of read`-only option. (Usually this option 
is used to open files in read only mode).&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:GetActiveDir`(`)const: [_^String^ String]_[* GetActiveDir]()_[@(0.0.255) co
nst]&]
[s2;%% Returns the active directory of file selector.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:GetActiveType`(`)const: [@(0.0.255) int]_[* GetActiveType]()_[@(0.0.255) co
nst]&]
[s2;%% Returns the active file type index of file selector.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Filesystem`(FileSystemInfo`&`): [@(0.0.255) void]_[* Filesystem]([_^FileSystemInfo^ F
ileSystemInfo][@(0.0.255) `&]_[*@3 fsys])&]
[s2;%% Sets the file system to browse. Default is normal local file 
system.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:GetFilesystem`(`)const: [_^FileSystemInfo^ FileSystemInfo][@(0.0.255) `&]_
[* GetFilesystem]()_[@(0.0.255) const]&]
[s2;%% Returns the file system used in file selector.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Type`(const char`*`,const char`*`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* T
ype]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 name], [@(0.0.255) const]_[@(0.0.255) char
]_`*[*@3 ext])&]
[s2;%% Adds a file type displayed as [%-*@3 name]. [%-*@3 ext] contains 
a set of file masks separated by spaces. Example: Type(`"Source 
files`", `"`*.c `*.h`").&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Types`(const char`*`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* Types]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 d])&]
[s2;%% Adds a number of file types using simple text format: `'`\n`' 
is used to separate types, `'`\t`' is used to separate file type 
description and file mask. If there is no `'`\t`', text is used 
for both file description and the file mask.&]
[s2;%% Examples: Types(`"All files`\t`*.`*`\nText files`\t`*.txt`\nImage 
files`\t`*.bmp `*.png `*.jpg `*.gif`")).&]
[s3;%% &]
[s4; &]
[s5;:FileSel`:`:AllFilesType`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* AllFilesType]()&]
[s2;%% Same as Type(`"All files`", `"`*.`*`").&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:ClearTypes`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* ClearTypes]()&]
[s2;%% Removes all file types from FileSel.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:ActiveDir`(const String`&`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* ActiveD
ir]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 d])&]
[s2;%% Sets the active directory of file selector (directory where 
file selector starts).&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:ActiveType`(int`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* ActiveType]([@(0.0.255) i
nt]_[*@3 i])&]
[s2;%% Sets the active file type.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:PreSelect`(const String`&`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* PreSele
ct]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 path])&]
[s2;%% Preselects the file [%-*@3 path].&]
[s3;%% &]
[s4; &]
[s5;:FileSel`:`:DefaultExt`(const char`*`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* DefaultE
xt]([@(0.0.255) const]_[@(0.0.255) char]_`*[*@3 ext])&]
[s2;%% Sets the file extension to add for `"Save as`" dialog if none 
is specified.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:FileSel`:`:Sort`(int`): [_^Upp`:`:FileSel^ FileSel][@(0.0.255) `&]_[* Sort]([@(0.0.255) i
nt]_[*@3 kind])&]
[s2;%% Sets the sorting mode, [%-*@3 kind] can be one of FILELISTSORT`_NAME, 
FILELISTSORT`_EXT, FILELISTSORT`_TIME, FILELISTSORT`_SIZE, potentially 
combined (with binary or) with flag FILELISTSORT`_DESCENDING.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:FileSel`:`:Columns`(int`): [_^Upp`:`:FileSel^ FileSel][@(0.0.255) `&]_[* Column
s]([@(0.0.255) int]_[*@3 n])&]
[s2;%% Sets the number of columns.&]
[s3;%% &]
[s4; &]
[s5;:FileSel`:`:Multi`(bool`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* Multi]([@(0.0.255) bool
]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% In this mode, more than single file can be selected. Default 
is false.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:ReadOnlyOption`(bool`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* ReadOnlyOpti
on]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Makes `"Read only`" option visible. Default is false.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:MkDirOption`(bool`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* MkDirOption]([@(0.0.255) b
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% Makes `"Make directory`" button visible. Default is true.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:NoMkDirOption`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* NoMkDirOption]()&]
[s2;%% Same as MkDirOption(false).&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:BaseDir`(const char`*`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* BaseDir]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 dir])&]
[s2;%% Sets [%-*@3 dir] to be the base directory. If used, files can 
be selected only inside this base directory (or its subdirectories) 
and selected file paths are relative to it.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Asking`(bool`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* Asking]([@(0.0.255) bo
ol]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% If active, file selector asks before returning the path of 
existing file in `"Save as`" dialog. Default is active.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:NoAsking`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* NoAsking]()&]
[s2;%% Same as Asking(false).&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:EditFileName`(bool`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* EditFileName](
[@(0.0.255) bool]_[*@3 b])&]
[s2;%% If active, user can type files into filename edit field. Default 
is active.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:NoEditFileName`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* NoEditFileName](
)&]
[s2;%% Same as EditFileName(false).&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:AppModal`(bool`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* AppModal]([@(0.0.255) b
ool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:NoAppModal`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* NoAppModal]()&]
[s2;%% If active (default), dialog is run as application modal.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:Preview`(Ctrl`&`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* Preview]([_^Ctrl^ C
trl][@(0.0.255) `&]_[*@3 ctrl])&]
[s2;%% Sets [%-*@3 ctrl ]to be provide a preview of currently selected 
file. This widget is placed into FileSel and receives the path 
of file via SetData to be previewed or Null if there is nothing 
to preview.&]
[s3;%% &]
[s4; &]
[s5;:FileSel`:`:Preview`(const Display`&`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* Preview](
[@(0.0.255) const]_[_^Display^ Display][@(0.0.255) `&]_[*@3 d])&]
[s2;%% Sets [%-*@3 d] to be provide a preview of currently selected 
file. This Display is by FileSel to show the preview, the Value 
in Paint method is either the path of file or Null if there is 
nothing to preview.&]
[s3;%% &]
[s4; &]
[s5;:FileSel`:`:ClearPlaces`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* ClearPlaces]()&]
[s2;%% Empties the list of special folders (platform specific, usually 
folders like Video, Pictures, Downloads are in the default list). 
The list, if not empty, is displayed in the left part of dialog.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:AddPlace`(const String`&`,const Image`&`,const String`&`,const char`*`,int`): [_^FileSel^ F
ileSel][@(0.0.255) `&]_[* AddPlace]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 p
ath], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 m], [@(0.0.255) const]_[_^String^ S
tring][@(0.0.255) `&]_[*@3 name], [@(0.0.255) const]_[@(0.0.255) char`*]_[*@3 group]_`=_NUL
L, [@(0.0.255) int]_[*@3 row]_`=_`-[@3 1])&]
[s5;:FileSel`:`:AddPlace`(const String`&`,const String`&`,const char`*`,int`): [_^FileSel^ F
ileSel][@(0.0.255) `&]_[* AddPlace]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 p
ath], [@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 name], 
[@(0.0.255) const]_[@(0.0.255) char`*]_[*@3 group]_`=_NULL, [@(0.0.255) int]_[*@3 row]_`=_`-
[@3 1])&]
[s5;:FileSel`:`:AddPlace`(const String`&`,const char`*`,int`): [_^FileSel^ FileSel][@(0.0.255) `&
]_[* AddPlace]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 path], 
[@(0.0.255) const]_[@(0.0.255) char`*]_[*@3 group]_`=_NULL, [@(0.0.255) int]_[*@3 row]_`=_`-
[@3 1])&]
[s2;%% Adds a folder [%-*@3 path] to the list of special folders with 
[%-*@3 name] and icon [%-*@3 m]. [%-*@3 group] and [%-*@3 row] must at 
the moment be left to its default values (they are only used 
internally). If [%-*@3 name] or icon [%-*@3 m] is not specified, 
they are created based on [%-*@3 path].&]
[s3;%% &]
[s4; &]
[s5;:FileSel`:`:AddPlaceSeparator`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* AddPlaceSepar
ator]()&]
[s2;%% Adds horizontal separator line to the list of special folders.&]
[s3; &]
[s4; &]
[s5;:FileSel`:`:AddStandardPlaces`(`): [_^FileSel^ FileSel][@(0.0.255) `&]_[* AddStandardPl
aces]()&]
[s2;%% Adds default special folders to the list. Called by FileSel 
constructor.&]
[s3; &]
[s4; &]
[s5;:Upp`:`:FileSel`:`:FileCtrl`(Upp`:`:Ctrl`&`,int`): [_^Upp`:`:FileSel^ FileSel][@(0.0.255) `&
]_[* FileCtrl]([_^Upp`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 ext], [@(0.0.255) int]_[*@3 cx])&]
[s5;:Upp`:`:FileSel`:`:FileCtrl`(Upp`:`:Ctrl`&`): [_^Upp`:`:FileSel^ FileSel][@(0.0.255) `&
]_[* FileCtrl]([_^Upp`:`:Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 ext])&]
[s2;%% Provides a way to extend the FileSel: Adds a widget after the 
filename widget. The height of widget is set to be the same as 
the filename, width is [%-*@3 cx.] Variant without [%-*@3 cx] gets 
the width from GetMinSize().&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:FileSel`:`:DefaultName`(const Upp`:`:String`&`): [_^Upp`:`:FileSel^ FileSel
][@(0.0.255) `&]_[* DefaultName]([@(0.0.255) const]_[_^Upp`:`:String^ String][@(0.0.255) `&
]_[*@3 s])&]
[s2;%% Specifies the default name for Save As operation.&]
[s3;%% &]
[s4; &]
[s5;:Upp`:`:FileSel`:`:NoExeIcons`(bool`): [_^Upp`:`:FileSel^ FileSel][@(0.0.255) `&]_[* No
ExeIcons]([@(0.0.255) bool]_[*@3 b]_`=_[@(0.0.255) true])&]
[s2;%% In Win32 environment, FileSel is using background thread to 
load icons from .exe files. In some contexts, this can be causing 
problems. NoExeIcons suppresses loading of this information.&]
[s3;%% &]
[s3;%% ]]