This repository was archived by the owner on Feb 26, 2022. It is now read-only.
Repository navigation
Expand file tree
/
Copy pathTextstringArrayDataType.cs
More file actions
155 lines (136 loc) · 3.62 KB
/
Copy pathTextstringArrayDataType.cs
File metadata and controls
155 lines (136 loc) · 3.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
using System;
using umbraco.cms.businesslogic.datatype;
using umbraco.interfaces;
namespace uComponents.DataTypes.TextstringArray
{
/// <summary>
/// Data Editor for the Textstring Array data type.
/// </summary>
public class TextstringArrayDataType : AbstractDataEditor
{
/// <summary>
/// The control for the Textstring Array data-editor.
/// </summary>
private TextstringArrayControl m_Control = new TextstringArrayControl();
/// <summary>
/// The Data object for the data-type.
/// </summary>
private IData m_Data;
/// <summary>
/// The PreValue Editor for the data-type.
/// </summary>
private IDataPrevalue m_PreValueEditor;
/// <summary>
/// Initializes a new instance of the <see cref="TextstringArrayDataType"/> class.
/// </summary>
public TextstringArrayDataType()
{
// set the render control as the placeholder
this.RenderControl = this.m_Control;
// assign the initialise event for the control
this.m_Control.Init += new EventHandler(this.m_Control_Init);
// assign the save event for the data-type/editor
this.DataEditorControl.OnSave += new AbstractDataEditorControl.SaveEventHandler(this.DataEditorControl_OnSave);
}
/// <summary>
/// Gets the id of the data-type.
/// </summary>
/// <value>The id of the data-type.</value>
public override Guid Id
{
get
{
return new Guid(DataTypeConstants.TextstringArrayId);
}
}
/// <summary>
/// Gets the name of the data type.
/// </summary>
/// <value>The name of the data type.</value>
public override string DataTypeName
{
get
{
return "uComponents: Textstring Array";
}
}
/// <summary>
/// Field for the options.
/// </summary>
private TextstringArrayOptions options;
/// <summary>
/// Gets the options.
/// </summary>
/// <value>The options.</value>
private TextstringArrayOptions Options
{
get
{
if (this.options == null)
{
this.options = ((TextstringArrayPrevalueEditor)this.PrevalueEditor).GetPreValueOptions<TextstringArrayOptions>();
}
if (options == null)
{
// load defaults
options = new TextstringArrayOptions(true);
}
return this.options;
}
}
/// <summary>
/// Gets the data for the data-type.
/// </summary>
/// <value>The data for the data-type.</value>
public override IData Data
{
get
{
if (this.m_Data == null)
{
this.m_Data = new TextstringArrayData(this, this.Options);
}
return this.m_Data;
}
}
/// <summary>
/// Gets the prevalue editor.
/// </summary>
/// <value>The prevalue editor.</value>
public override IDataPrevalue PrevalueEditor
{
get
{
if (this.m_PreValueEditor == null)
{
this.m_PreValueEditor = new TextstringArrayPrevalueEditor(this);
}
return this.m_PreValueEditor;
}
}
/// <summary>
/// Handles the Init event of the control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
private void m_Control_Init(object sender, EventArgs e)
{
// check if the data value is available...
if (this.Data.Value != null)
{
// set the value of the control
this.m_Control.Values = this.Data.Value.ToString();
}
// set the controls options
this.m_Control.Options = this.Options;
}
/// <summary>
/// Saves the data for the editor control.
/// </summary>
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
private void DataEditorControl_OnSave(EventArgs e)
{
this.Data.Value = this.m_Control.Values;
}
}
}