Elin Decompiled Documentation EA 23.102 Nightly
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Pages
SFB.StandaloneFileBrowserWindows Class Reference
Inheritance diagram for SFB.StandaloneFileBrowserWindows:
SFB.IStandaloneFileBrowser

Public Member Functions

string[] OpenFilePanel (string title, string directory, ExtensionFilter[] extensions, bool multiselect)
 
void OpenFilePanelAsync (string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action< string[]> cb)
 
string[] OpenFolderPanel (string title, string directory, bool multiselect)
 
void OpenFolderPanelAsync (string title, string directory, bool multiselect, Action< string[]> cb)
 
string SaveFilePanel (string title, string directory, string defaultName, ExtensionFilter[] extensions)
 
void SaveFilePanelAsync (string title, string directory, string defaultName, ExtensionFilter[] extensions, Action< string > cb)
 
string[] OpenFilePanel (string title, string directory, ExtensionFilter[] extensions, bool multiselect)
 
string[] OpenFolderPanel (string title, string directory, bool multiselect)
 
string SaveFilePanel (string title, string directory, string defaultName, ExtensionFilter[] extensions)
 
void OpenFilePanelAsync (string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action< string[]> cb)
 
void OpenFolderPanelAsync (string title, string directory, bool multiselect, Action< string[]> cb)
 
void SaveFilePanelAsync (string title, string directory, string defaultName, ExtensionFilter[] extensions, Action< string > cb)
 

Private Member Functions

static IntPtr GetActiveWindow ()
 

Static Private Member Functions

static string GetFilterFromFileExtensionList (ExtensionFilter[] extensions)
 
static string GetDirectoryPath (string directory)
 

Detailed Description

Definition at line 9 of file StandaloneFileBrowserWindows.cs.

Member Function Documentation

◆ GetActiveWindow()

static IntPtr SFB.StandaloneFileBrowserWindows.GetActiveWindow ( )
private

◆ GetDirectoryPath()

static string SFB.StandaloneFileBrowserWindows.GetDirectoryPath ( string  directory)
inlinestaticprivate

Definition at line 121 of file StandaloneFileBrowserWindows.cs.

122 {
123 string text = Path.GetFullPath(directory);
124 if (!text.EndsWith("\\"))
125 {
126 text += "\\";
127 }
128 if (Path.GetPathRoot(text) == text)
129 {
130 return directory;
131 }
132 string directoryName = Path.GetDirectoryName(text);
133 char directorySeparatorChar = Path.DirectorySeparatorChar;
134 return directoryName + directorySeparatorChar;
135 }

Referenced by SFB.StandaloneFileBrowserWindows.OpenFilePanel(), SFB.StandaloneFileBrowserWindows.OpenFolderPanel(), and SFB.StandaloneFileBrowserWindows.SaveFilePanel().

◆ GetFilterFromFileExtensionList()

static string SFB.StandaloneFileBrowserWindows.GetFilterFromFileExtensionList ( ExtensionFilter[]  extensions)
inlinestaticprivate

Definition at line 97 of file StandaloneFileBrowserWindows.cs.

98 {
99 string text = "";
100 for (int i = 0; i < extensions.Length; i++)
101 {
102 ExtensionFilter extensionFilter = extensions[i];
103 text = text + extensionFilter.Name + "(";
104 string[] extensions2 = extensionFilter.Extensions;
105 foreach (string text2 in extensions2)
106 {
107 text = text + "*." + text2 + ",";
108 }
109 text = text.Remove(text.Length - 1);
110 text += ") |";
111 extensions2 = extensionFilter.Extensions;
112 foreach (string text3 in extensions2)
113 {
114 text = text + "*." + text3 + "; ";
115 }
116 text += "|";
117 }
118 return text.Remove(text.Length - 1);
119 }

References SFB.ExtensionFilter.Extensions.

Referenced by SFB.StandaloneFileBrowserWindows.OpenFilePanel(), and SFB.StandaloneFileBrowserWindows.SaveFilePanel().

◆ OpenFilePanel()

string[] SFB.StandaloneFileBrowserWindows.OpenFilePanel ( string  title,
string  directory,
ExtensionFilter[]  extensions,
bool  multiselect 
)
inline

Implements SFB.IStandaloneFileBrowser.

Definition at line 14 of file StandaloneFileBrowserWindows.cs.

15 {
16 VistaOpenFileDialog vistaOpenFileDialog = new VistaOpenFileDialog();
17 vistaOpenFileDialog.Title = title;
18 if (extensions != null)
19 {
20 vistaOpenFileDialog.Filter = GetFilterFromFileExtensionList(extensions);
21 vistaOpenFileDialog.FilterIndex = 1;
22 }
23 else
24 {
25 vistaOpenFileDialog.Filter = string.Empty;
26 }
27 vistaOpenFileDialog.Multiselect = multiselect;
28 if (!string.IsNullOrEmpty(directory))
29 {
30 vistaOpenFileDialog.FileName = GetDirectoryPath(directory);
31 }
32 string[] result = ((vistaOpenFileDialog.ShowDialog(new WindowWrapper(GetActiveWindow())) == DialogResult.OK) ? vistaOpenFileDialog.FileNames : new string[0]);
33 vistaOpenFileDialog.Dispose();
34 return result;
35 }
item3. title
Definition: UIBook.cs:616
static string GetFilterFromFileExtensionList(ExtensionFilter[] extensions)
static string GetDirectoryPath(string directory)

References SFB.StandaloneFileBrowserWindows.GetActiveWindow(), SFB.StandaloneFileBrowserWindows.GetDirectoryPath(), SFB.StandaloneFileBrowserWindows.GetFilterFromFileExtensionList(), and title.

Referenced by SFB.StandaloneFileBrowserWindows.OpenFilePanelAsync().

◆ OpenFilePanelAsync()

void SFB.StandaloneFileBrowserWindows.OpenFilePanelAsync ( string  title,
string  directory,
ExtensionFilter[]  extensions,
bool  multiselect,
Action< string[]>  cb 
)
inline

Implements SFB.IStandaloneFileBrowser.

Definition at line 37 of file StandaloneFileBrowserWindows.cs.

38 {
39 cb(OpenFilePanel(title, directory, extensions, multiselect));
40 }
string[] OpenFilePanel(string title, string directory, ExtensionFilter[] extensions, bool multiselect)

References SFB.StandaloneFileBrowserWindows.OpenFilePanel(), and title.

◆ OpenFolderPanel()

string[] SFB.StandaloneFileBrowserWindows.OpenFolderPanel ( string  title,
string  directory,
bool  multiselect 
)
inline

Implements SFB.IStandaloneFileBrowser.

Definition at line 42 of file StandaloneFileBrowserWindows.cs.

43 {
44 VistaFolderBrowserDialog vistaFolderBrowserDialog = new VistaFolderBrowserDialog();
45 vistaFolderBrowserDialog.Description = title;
46 if (!string.IsNullOrEmpty(directory))
47 {
48 vistaFolderBrowserDialog.SelectedPath = GetDirectoryPath(directory);
49 }
50 string[] result = ((vistaFolderBrowserDialog.ShowDialog(new WindowWrapper(GetActiveWindow())) != DialogResult.OK) ? new string[0] : new string[1] { vistaFolderBrowserDialog.SelectedPath });
51 vistaFolderBrowserDialog.Dispose();
52 return result;
53 }

References SFB.StandaloneFileBrowserWindows.GetActiveWindow(), SFB.StandaloneFileBrowserWindows.GetDirectoryPath(), and title.

Referenced by SFB.StandaloneFileBrowserWindows.OpenFolderPanelAsync().

◆ OpenFolderPanelAsync()

void SFB.StandaloneFileBrowserWindows.OpenFolderPanelAsync ( string  title,
string  directory,
bool  multiselect,
Action< string[]>  cb 
)
inline

Implements SFB.IStandaloneFileBrowser.

Definition at line 55 of file StandaloneFileBrowserWindows.cs.

56 {
57 cb(OpenFolderPanel(title, directory, multiselect));
58 }
string[] OpenFolderPanel(string title, string directory, bool multiselect)

References SFB.StandaloneFileBrowserWindows.OpenFolderPanel(), and title.

◆ SaveFilePanel()

string SFB.StandaloneFileBrowserWindows.SaveFilePanel ( string  title,
string  directory,
string  defaultName,
ExtensionFilter[]  extensions 
)
inline

Implements SFB.IStandaloneFileBrowser.

Definition at line 60 of file StandaloneFileBrowserWindows.cs.

61 {
62 VistaSaveFileDialog vistaSaveFileDialog = new VistaSaveFileDialog();
63 vistaSaveFileDialog.Title = title;
64 string text = "";
65 if (!string.IsNullOrEmpty(directory))
66 {
67 text = GetDirectoryPath(directory);
68 }
69 if (!string.IsNullOrEmpty(defaultName))
70 {
71 text += defaultName;
72 }
73 vistaSaveFileDialog.FileName = text;
74 if (extensions != null)
75 {
76 vistaSaveFileDialog.Filter = GetFilterFromFileExtensionList(extensions);
77 vistaSaveFileDialog.FilterIndex = 1;
78 vistaSaveFileDialog.DefaultExt = extensions[0].Extensions[0];
79 vistaSaveFileDialog.AddExtension = true;
80 }
81 else
82 {
83 vistaSaveFileDialog.DefaultExt = string.Empty;
84 vistaSaveFileDialog.Filter = string.Empty;
85 vistaSaveFileDialog.AddExtension = false;
86 }
87 string result = ((vistaSaveFileDialog.ShowDialog(new WindowWrapper(GetActiveWindow())) == DialogResult.OK) ? vistaSaveFileDialog.FileName : "");
88 vistaSaveFileDialog.Dispose();
89 return result;
90 }

References SFB.ExtensionFilter.Extensions, SFB.StandaloneFileBrowserWindows.GetActiveWindow(), SFB.StandaloneFileBrowserWindows.GetDirectoryPath(), SFB.StandaloneFileBrowserWindows.GetFilterFromFileExtensionList(), and title.

Referenced by SFB.StandaloneFileBrowserWindows.SaveFilePanelAsync().

◆ SaveFilePanelAsync()

void SFB.StandaloneFileBrowserWindows.SaveFilePanelAsync ( string  title,
string  directory,
string  defaultName,
ExtensionFilter[]  extensions,
Action< string >  cb 
)
inline

Implements SFB.IStandaloneFileBrowser.

Definition at line 92 of file StandaloneFileBrowserWindows.cs.

93 {
94 cb(SaveFilePanel(title, directory, defaultName, extensions));
95 }
string SaveFilePanel(string title, string directory, string defaultName, ExtensionFilter[] extensions)

References SFB.StandaloneFileBrowserWindows.SaveFilePanel(), and title.


The documentation for this class was generated from the following file: