2 // Microsoft.Web.ScriptComponentBase
5 // Chris Toshok (toshok@ximian.com)
8 // Copyright (C) 2005 Novell, Inc (http://www.novell.com)
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
34 namespace Microsoft.Web
37 public abstract class ScriptComponentBase: IScriptComponent, IScriptObject
39 protected ScriptComponentBase ()
43 public BindingCollection Bindings {
45 throw new NotImplementedException ();
55 id = (value == null ? "" : value);
59 protected IScriptObject Owner {
61 throw new NotImplementedException ();
65 public ScriptEvent PropertyChanged {
67 throw new NotImplementedException ();
71 protected ScriptEventCollection ScriptEvents {
73 throw new NotImplementedException ();
77 public abstract string TagName { get; }
79 protected virtual void AddAttributesToElement (ScriptTextWriter writer)
82 writer.WriteAttributeString ("id", id);
85 public ScriptTypeDescriptor GetTypeDescriptor ()
87 throw new NotImplementedException ();
90 protected virtual void InitializeTypeDescriptor (ScriptTypeDescriptor typeDescriptor)
92 typeDescriptor.AddEvent (new ScriptEventDescriptor ("propertyChanged", true));
93 typeDescriptor.AddProperty (new ScriptPropertyDescriptor ("bindings", ScriptType.Array, true, "Bindings"));
94 typeDescriptor.AddProperty (new ScriptPropertyDescriptor ("dataContext", ScriptType.Object));
95 typeDescriptor.AddProperty (new ScriptPropertyDescriptor ("id", ScriptType.String, "ID"));
96 typeDescriptor.AddProperty (new ScriptPropertyDescriptor ("eventArgs", ScriptType.Object));
97 typeDescriptor.AddProperty (new ScriptPropertyDescriptor ("result", ScriptType.Object));
98 typeDescriptor.AddProperty (new ScriptPropertyDescriptor ("sender", ScriptType.Object));
101 public void RenderScript (ScriptTextWriter writer)
103 RenderScriptBeginTag (writer);
104 AddAttributesToElement (writer);
105 RenderScriptTagContents (writer);
106 RenderScriptEndTag (writer);
109 protected virtual void RenderScriptBeginTag (ScriptTextWriter writer)
111 writer.WriteStartElement (TagName);
114 protected virtual void RenderScriptEndTag (ScriptTextWriter writer)
116 writer.WriteEndElement ();
119 protected virtual void RenderScriptTagContents (ScriptTextWriter writer)
123 public void SetOwner (IScriptObject owner)
125 throw new NotImplementedException ();
128 IScriptObject IScriptObject.Owner {
130 throw new NotImplementedException ();