2 * This file is part of the libCEC(R) library.
4 * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
5 * libCEC(R) is an original work, containing original code.
7 * libCEC(R) is a trademark of Pulse-Eight Limited.
9 * This program is dual-licensed; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 * Alternatively, you can license this library under a commercial license,
25 * please contact Pulse-Eight Licensing for more information.
27 * For more information contact:
28 * Pulse-Eight Licensing <license@pulse-eight.com>
29 * http://www.pulse-eight.com/
30 * http://www.pulse-eight.net/
33 using System.Windows.Forms;
36 namespace LibCECTray.settings
40 /// A setting of type string that can be persisted in the registry
42 class CECSettingString : CECSetting
44 public CECSettingString(string keyName, string friendlyName, string defaultValue, SettingChangedHandler changedHandler) :
45 this(CECSettingType.String, keyName, friendlyName, defaultValue, changedHandler)
49 public CECSettingString(CECSettingType type, string keyName, string friendlyName, string defaultValue, SettingChangedHandler changedHandler) :
50 base(type, CECSettingSerialisationType.String, keyName, friendlyName, defaultValue, changedHandler)
54 #region Serialisation methods
55 protected override string GetSerialisedValue()
60 protected override void SetSerialisedValue(string value)
65 protected override string GetSerialisedDefaultValue()
70 protected override void SetSerialisedDefaultValue(string value)
76 public new string Value
80 return (string)base.Value;
85 if (BaseValueControl != null && Form != null)
86 Form.SetControlText(BaseValueControl, value);
90 public new string DefaultValue
94 return (string)base.DefaultValue;
98 base.DefaultValue = value;
102 public new Control ValueControl
106 if (BaseValueControl == null)
108 TextBox control = new TextBox
110 Size = new System.Drawing.Size(100, 20),
111 Enabled = InitialEnabledValue,
114 control.TextChanged += delegate { Value = control.Text; };
115 BaseValueControl = control;
117 return BaseValueControl;
121 public void ReplaceControls(IAsyncControls form, Control.ControlCollection controls, Control labelControl, TextBox valueControl)
124 ReplaceControl(controls, labelControl, Label);
125 ReplaceControl(controls, valueControl, ValueControl);
126 if (ValueControl != null && Form != null)
127 Form.SetControlText(ValueControl, Value);
130 public void ReplaceControls(IAsyncControls form, Control.ControlCollection controls, TextBox valueControl)
133 ReplaceControl(controls, valueControl, ValueControl);