diff options
Diffstat (limited to 'Assets/Plugins/AdvancedInspector/Attributes/TextField.cs')
-rw-r--r-- | Assets/Plugins/AdvancedInspector/Attributes/TextField.cs | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/Assets/Plugins/AdvancedInspector/Attributes/TextField.cs b/Assets/Plugins/AdvancedInspector/Attributes/TextField.cs new file mode 100644 index 00000000..555fa1cb --- /dev/null +++ b/Assets/Plugins/AdvancedInspector/Attributes/TextField.cs @@ -0,0 +1,87 @@ +using System; + +namespace AdvancedInspector +{ + /// <summary> + /// This allows control over how a string field is displayed. + /// Only useful on string field. + /// </summary> + [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] + public class TextFieldAttribute : Attribute, IListAttribute + { + private const string TITLE = "Select Path..."; + private const string PATH = ""; + private const string EXTENSION = ""; + + private string title = ""; + + /// <summary> + /// Title of the modal dialog + /// </summary> + public string Title + { + get { return title; } + set { title = value; } + } + + private string path = "C:\\"; + + /// <summary> + /// Default file/folder path + /// </summary> + public string Path + { + get { return path; } + set { path = value; } + } + + private string extension = ""; + + /// <summary> + /// Force the file dialog to show only specific file type. + /// </summary> + public string Extension + { + get { return extension; } + set { extension = value; } + } + + private TextFieldType type; + + /// <summary> + /// What type of control is this string. + /// </summary> + public TextFieldType Type + { + get { return type; } + set { type = value; } + } + + public TextFieldAttribute(TextFieldType type) + : this(type, TITLE, PATH, EXTENSION) { } + + public TextFieldAttribute(TextFieldType type, string title) + : this(type, title, PATH, EXTENSION) { } + + public TextFieldAttribute(TextFieldType type, string title, string path) + : this(type, title, path, EXTENSION) { } + + public TextFieldAttribute(TextFieldType type, string title, string path, string extension) + { + this.type = type; + this.title = title; + this.path = path; + this.extension = extension; + } + } + + public enum TextFieldType + { + Standard, + Password, + Area, + Tag, + File, + Folder + } +}
\ No newline at end of file |