diff options
author | Chris Toshok <toshok@novell.com> | 2006-02-28 00:13:03 +0300 |
---|---|---|
committer | Chris Toshok <toshok@novell.com> | 2006-02-28 00:13:03 +0300 |
commit | d19727e2ed5102964198ff57345597ab24bc75ff (patch) | |
tree | bda073a969e5d819be6f68d5d307a3a4d352a471 | |
parent | e6df6ce78f97bc89774fa9e88ec8acb0e98e4664 (diff) | |
parent | a1428ab74a05d191cc69d68c8571496a383d7d1d (diff) |
* TemplateControl.cs: corcompare work.
* ExpressionBindingCollection.cs: same.
* HierarchicalDataSourceControl.cs: same.
* PostBackOptions.cs: same.
* ClientScriptManager.cs: same.
* FilterableAttribute.cs: same.
* ControlCollection.cs: same.
* DataBindingCollection.cs: same.
* PropertyEntry.cs: mark ctor internal.
* SimpleWebHandlerParser.cs: mark the 2.0 ctor as internal.
* Page.cs: stub out two Theme oriented 2.0 properties.
* DataBinder.cs: remove the obsolete attribute on the ctor.
* TwoWayBoundPropertyEntry.cs: remove this.
* ControlBuilder.cs (BindingContainerType): virtual in 2.0.
* ThemeProvider: new (stubbed) class.
* SkinBuilder.cs: same.
* PageTheme.cs: same.
* ControlSkin.cs: same.
* ControlSkinProc.cs: rename this to ControlSkinDelegate.cs.
* SimplePropertyEntry.cs: mark ctor as internal.
* IThemeResolutionService.cs: enable the 3 members of this
interface.
2006-02-27 Chris Toshok <toshok@ximian.com>
svn path=/trunk/mcs/; revision=57352
22 files changed, 442 insertions, 83 deletions
diff --git a/mcs/class/System.Web/System.Web.UI/ChangeLog b/mcs/class/System.Web/System.Web.UI/ChangeLog index ece5f6e1924..0a7f73eeaa9 100644 --- a/mcs/class/System.Web/System.Web.UI/ChangeLog +++ b/mcs/class/System.Web/System.Web.UI/ChangeLog @@ -1,5 +1,50 @@ 2006-02-27 Chris Toshok <toshok@ximian.com> + * TemplateControl.cs: corcompare work. + + * ExpressionBindingCollection.cs: same. + + * HierarchicalDataSourceControl.cs: same. + + * PostBackOptions.cs: same. + + * ClientScriptManager.cs: same. + + * FilterableAttribute.cs: same. + + * ControlCollection.cs: same. + + * DataBindingCollection.cs: same. + + * PropertyEntry.cs: mark ctor internal. + + * SimpleWebHandlerParser.cs: mark the 2.0 ctor as internal. + + * Page.cs: stub out two Theme oriented 2.0 properties. + + * DataBinder.cs: remove the obsolete attribute on the ctor. + + * TwoWayBoundPropertyEntry.cs: remove this. + + * ControlBuilder.cs (BindingContainerType): virtual in 2.0. + + * ThemeProvider: new (stubbed) class. + + * SkinBuilder.cs: same. + + * PageTheme.cs: same. + + * ControlSkin.cs: same. + + * ControlSkinProc.cs: rename this to ControlSkinDelegate.cs. + + * SimplePropertyEntry.cs: mark ctor as internal. + + * IThemeResolutionService.cs: enable the 3 members of this + interface. + +2006-02-27 Chris Toshok <toshok@ximian.com> + * ListSourceHelper.cs: this class is static. * Page.cs: add some EditorBrowsable attributes to the 2.0 events. diff --git a/mcs/class/System.Web/System.Web.UI/ClientScriptManager.cs b/mcs/class/System.Web/System.Web.UI/ClientScriptManager.cs index 79fcb353449..d4678410a4b 100644 --- a/mcs/class/System.Web/System.Web.UI/ClientScriptManager.cs +++ b/mcs/class/System.Web/System.Web.UI/ClientScriptManager.cs @@ -58,12 +58,13 @@ namespace System.Web.UI this.page = page; } - [Obsolete ("Use GetPostBackEventReference instead")] +#if !NET_2_0 public string GetPostBackClientEvent (Control control, string argument) { return GetPostBackEventReference (control, argument); } - +#endif + public string GetPostBackClientHyperlink (Control control, string argument) { return "javascript:" + GetPostBackEventReference (control, argument); diff --git a/mcs/class/System.Web/System.Web.UI/ControlBuilder.cs b/mcs/class/System.Web/System.Web.UI/ControlBuilder.cs index 2f4c4348927..8bc063a0f77 100644 --- a/mcs/class/System.Web/System.Web.UI/ControlBuilder.cs +++ b/mcs/class/System.Web/System.Web.UI/ControlBuilder.cs @@ -155,7 +155,7 @@ namespace System.Web.UI { } #if NET_2_0 - public + public virtual #else internal #endif diff --git a/mcs/class/System.Web/System.Web.UI/ControlCollection.cs b/mcs/class/System.Web/System.Web.UI/ControlCollection.cs index a850439fa37..a9b1b3a4935 100644 --- a/mcs/class/System.Web/System.Web.UI/ControlCollection.cs +++ b/mcs/class/System.Web/System.Web.UI/ControlCollection.cs @@ -51,7 +51,11 @@ namespace System.Web.UI { this.owner = owner; } - public int Count { + public +#if NET_2_0 + virtual +#endif + int Count { get { return count; } } @@ -155,7 +159,11 @@ namespace System.Web.UI { return (controls != null && Array.IndexOf (controls, c) != -1); } - public void CopyTo (Array array, int index) + public +#if NET_2_0 + virtual +#endif + void CopyTo (Array array, int index) { if (controls == null) return; @@ -178,7 +186,11 @@ namespace System.Web.UI { array.SetValue (controls [i], i); } - public IEnumerator GetEnumerator () + public +#if NET_2_0 + virtual +#endif + IEnumerator GetEnumerator () { return new SimpleEnumerator (this); } diff --git a/mcs/class/System.Web/System.Web.UI/TwoWayBoundPropertyEntry.cs b/mcs/class/System.Web/System.Web.UI/ControlSkin.cs index 0fa5586d3b8..971efab0a0f 100644 --- a/mcs/class/System.Web/System.Web.UI/TwoWayBoundPropertyEntry.cs +++ b/mcs/class/System.Web/System.Web.UI/ControlSkin.cs @@ -1,12 +1,10 @@ // -// System.Web.UI.TwoWayBoundPropertyEntry +// System.Web.UI.ControlSkin.cs // // Authors: -// Gonzalo Paniagua Javier (gonzalo@ximian.com) +// Chris Toshok (toshok@ximian.com) // -// Copyright (c) 2005 Novell, Inc (http://www.novell.com) -// - +// (C) 2006 Novell, Inc (http://www.novell.com) // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the @@ -27,35 +25,35 @@ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // + #if NET_2_0 -namespace System.Web.UI -{ - public class TwoWayBoundPropertyEntry : BoundPropertyEntry { - string controlID; - Type controlType; - string fieldName; - string formatString; - public string ControlID { - get { return controlID; } - set { controlID = value; } - } +using System.ComponentModel; - public Type ControlType { - get { return controlType; } - set { controlType = value; } +namespace System.Web.UI { + + [EditorBrowsable (EditorBrowsableState.Advanced)] + public class ControlSkin + { + Type controlType; + ControlSkinDelegate themeDelegate; + + public ControlSkin (Type controlType, ControlSkinDelegate themeDelegate) + { + this.controlType = controlType; + this.themeDelegate = themeDelegate; } - public string FieldName { - get { return fieldName; } - set { fieldName = value; } + public void ApplySkin (Control control) + { + themeDelegate (control); } - public string FormatString { - get { return formatString; } - set { formatString = value; } + public Type ControlType { + get { return controlType; } } } + } -#endif // NET_2_0 +#endif diff --git a/mcs/class/System.Web/System.Web.UI/ControlSkinProc.cs b/mcs/class/System.Web/System.Web.UI/ControlSkinDelegate.cs index 8c351adbaaf..11564c31538 100644 --- a/mcs/class/System.Web/System.Web.UI/ControlSkinProc.cs +++ b/mcs/class/System.Web/System.Web.UI/ControlSkinDelegate.cs @@ -1,5 +1,5 @@ // -// System.Web.UI.ControlSkinProc.cs +// System.Web.UI.ControlSkinDelegate.cs // // Author: // Sanjay Gupta <gsanjay@novell.com> @@ -31,11 +31,12 @@ #if NET_2_0 using System; -using System.Web; +using System.ComponentModel; namespace System.Web.UI { - public delegate Control ControlSkinProc (Control control); + [EditorBrowsable (EditorBrowsableState.Advanced)] + public delegate Control ControlSkinDelegate (Control control); } #endif diff --git a/mcs/class/System.Web/System.Web.UI/DataBinder.cs b/mcs/class/System.Web/System.Web.UI/DataBinder.cs index 86d1d9e174d..8010238e09b 100644 --- a/mcs/class/System.Web/System.Web.UI/DataBinder.cs +++ b/mcs/class/System.Web/System.Web.UI/DataBinder.cs @@ -38,9 +38,6 @@ namespace System.Web.UI { // CAS - no InheritanceDemand here as the class is sealed [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public sealed class DataBinder { -#if NET_2_0 - [Obsolete] -#endif public DataBinder () { } diff --git a/mcs/class/System.Web/System.Web.UI/DataBindingCollection.cs b/mcs/class/System.Web/System.Web.UI/DataBindingCollection.cs index 57306336be4..c919e35af0c 100644 --- a/mcs/class/System.Web/System.Web.UI/DataBindingCollection.cs +++ b/mcs/class/System.Web/System.Web.UI/DataBindingCollection.cs @@ -120,14 +120,10 @@ namespace System.Web.UI { } public event EventHandler Changed; - - public #else internal event EventHandler Changed; - - internal #endif - void RaiseChanged () + internal void RaiseChanged () { if (Changed != null) Changed (this, EventArgs.Empty); diff --git a/mcs/class/System.Web/System.Web.UI/ExpressionBindingCollection.cs b/mcs/class/System.Web/System.Web.UI/ExpressionBindingCollection.cs index 79cb1ef0ffa..c343ac9ae18 100644 --- a/mcs/class/System.Web/System.Web.UI/ExpressionBindingCollection.cs +++ b/mcs/class/System.Web/System.Web.UI/ExpressionBindingCollection.cs @@ -61,8 +61,8 @@ namespace System.Web.UI { get { return list [propertyName] as ExpressionBinding; } } - public string [] RemovedBindings { - get { return (string []) removed.ToArray (typeof (string)); } + public ICollection RemovedBindings { + get { return removed; } } public object SyncRoot { @@ -133,7 +133,7 @@ namespace System.Web.UI { public event EventHandler Changed; - protected void OnChanged (EventArgs e) + void OnChanged (EventArgs e) { if (Changed != null) Changed (this, e); diff --git a/mcs/class/System.Web/System.Web.UI/FilterableAttribute.cs b/mcs/class/System.Web/System.Web.UI/FilterableAttribute.cs index 511ff4622b3..61834b75c32 100644 --- a/mcs/class/System.Web/System.Web.UI/FilterableAttribute.cs +++ b/mcs/class/System.Web/System.Web.UI/FilterableAttribute.cs @@ -33,10 +33,9 @@ using System.ComponentModel; namespace System.Web.UI { [AttributeUsage (AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = false, Inherited = true)] - public sealed class FilterableAttribute : Attribute, IDisposable + public sealed class FilterableAttribute : Attribute { private bool filterable; - private bool dispose; public FilterableAttribute (bool filterable) { @@ -53,20 +52,6 @@ namespace System.Web.UI { get { return filterable; } } - public void Dispose () - { - Dispose (true); - GC.SuppressFinalize (this); - } - - private void Dispose (bool disposing) - { - if (!this.dispose) { - //Do nothing - this.dispose = true; - } - } - public override bool Equals (object obj) { if (obj != null && obj is FilterableAttribute) { diff --git a/mcs/class/System.Web/System.Web.UI/HierarchicalDataSourceControl.cs b/mcs/class/System.Web/System.Web.UI/HierarchicalDataSourceControl.cs index d54215a1490..7a5e2926e90 100644 --- a/mcs/class/System.Web/System.Web.UI/HierarchicalDataSourceControl.cs +++ b/mcs/class/System.Web/System.Web.UI/HierarchicalDataSourceControl.cs @@ -38,10 +38,10 @@ using System.ComponentModel; namespace System.Web.UI { - [NonVisualControlAttribute]
- [DesignerAttribute ("System.Web.UI.Design.HierarchicalDataSourceDesigner, " + Consts.AssemblySystem_Design, "System.ComponentModel.Design.IDesigner")]
-// [ControlBuilderAttribute (typeof(DataSourceControlBuilder))]
- [BindableAttribute (false)]
+ [NonVisualControlAttribute] + [DesignerAttribute ("System.Web.UI.Design.HierarchicalDataSourceDesigner, " + Consts.AssemblySystem_Design, "System.ComponentModel.Design.IDesigner")] + [ControlBuilderAttribute (typeof(DataSourceControlBuilder))] + [BindableAttribute (false)] public abstract class HierarchicalDataSourceControl : Control, IHierarchicalDataSource { static object dataSourceChanged = new object (); @@ -50,26 +50,32 @@ namespace System.Web.UI { } - protected virtual HierarchicalDataSourceView GetHierarchicalView (string viewPath) - { - return null; - } + protected abstract HierarchicalDataSourceView GetHierarchicalView (string viewPath); HierarchicalDataSourceView IHierarchicalDataSource.GetHierarchicalView (string viewPath) { - return this.GetHierarchicalView (viewPath); + return GetHierarchicalView (viewPath); } - + + [Browsable (false)] + [DefaultValue (false)] + [EditorBrowsable (EditorBrowsableState.Never)] public override bool EnableTheming { get { return false; } set { throw new NotSupportedException (); } } + [Browsable (false)] + [DefaultValue ("")] + [EditorBrowsable (EditorBrowsableState.Never)] public override string SkinID { get { return string.Empty; } set { throw new NotSupportedException (); } } + [Browsable (false)] + [DefaultValue (false)] + [EditorBrowsable (EditorBrowsableState.Never)] public override bool Visible { get { return false; } set { throw new NotSupportedException (); } @@ -80,17 +86,20 @@ namespace System.Web.UI return new EmptyControlCollection (this); } + [EditorBrowsable (EditorBrowsableState.Never)] public override Control FindControl (string id) { if (id == ID) return this; else return null; } + [EditorBrowsable (EditorBrowsableState.Never)] public override bool HasControls () { return false; } + [EditorBrowsable (EditorBrowsableState.Never)] public override void Focus () { throw new NotSupportedException (); @@ -108,6 +117,7 @@ namespace System.Web.UI eh (this, e); } + [EditorBrowsable (EditorBrowsableState.Never)] public override void RenderControl (HtmlTextWriter writer) { // nop diff --git a/mcs/class/System.Web/System.Web.UI/IThemeResolutionService.cs b/mcs/class/System.Web/System.Web.UI/IThemeResolutionService.cs index 8e236b3df29..4ee874ee2f0 100644 --- a/mcs/class/System.Web/System.Web.UI/IThemeResolutionService.cs +++ b/mcs/class/System.Web/System.Web.UI/IThemeResolutionService.cs @@ -36,9 +36,9 @@ namespace System.Web.UI { public interface IThemeResolutionService { - //ThemeProvider [] GetAllThemeProviders (); - //ThemeProvider GetStylesheetThemeProvider (); - //ThemeProvider GetThemeProvider (); + ThemeProvider [] GetAllThemeProviders (); + ThemeProvider GetStylesheetThemeProvider (); + ThemeProvider GetThemeProvider (); } } #endif diff --git a/mcs/class/System.Web/System.Web.UI/Page.cs b/mcs/class/System.Web/System.Web.UI/Page.cs index 54cc0cffd9e..8a64c1ba1bd 100644 --- a/mcs/class/System.Web/System.Web.UI/Page.cs +++ b/mcs/class/System.Web/System.Web.UI/Page.cs @@ -454,6 +454,25 @@ public class Page : TemplateControl, IHttpHandler } #if NET_2_0 + [MonoTODO] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + [Filterable (false)] + [Browsable (false)] + public virtual string StyleSheetTheme { + get { throw new NotImplementedException (); } + set { throw new NotImplementedException (); } + } + + [MonoTODO] + [Browsable (false)] + [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] + public virtual string Theme { + get { throw new NotImplementedException (); } + set { throw new NotImplementedException (); } + } +#endif + +#if NET_2_0 [Localizable (true)] [Bindable (true)] [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)] diff --git a/mcs/class/System.Web/System.Web.UI/PageTheme.cs b/mcs/class/System.Web/System.Web.UI/PageTheme.cs new file mode 100644 index 00000000000..d3ada397744 --- /dev/null +++ b/mcs/class/System.Web/System.Web.UI/PageTheme.cs @@ -0,0 +1,116 @@ +// +// System.Web.UI.PageTheme.cs +// +// Authors: +// Chris Toshok (toshok@ximian.com) +// +// (C) 2006 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_2_0 + +using System; +using System.Collections; +using System.ComponentModel; +using System.Xml; + +namespace System.Web.UI { + + [EditorBrowsable (EditorBrowsableState.Advanced)] + public abstract class PageTheme + { + protected PageTheme () + { + } + + [MonoTODO] + public static object CreateSkinKey (Type controlType, string skinID) + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected object Eval (string expression) + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected string Eval (string expression, string format) + { + throw new NotImplementedException (); + } + + [MonoTODO] + public bool TestDeviceFilter (string deviceFilterName) + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected object XPath (string xPathExpression) + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected object XPath (string xPathExpression, IXmlNamespaceResolver resolver) + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected string XPath (string xPathExpression, string format) + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected string XPath (string xPathExpression, string format, IXmlNamespaceResolver resolver) + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected IEnumerable XPathSelect (string xPathExpression) + { + throw new NotImplementedException (); + } + + [MonoTODO] + protected IEnumerable XPathSelect (string xPathExpression, IXmlNamespaceResolver resolver) + { + throw new NotImplementedException (); + } + + protected abstract string AppRelativeTemplateSourceDirectory { get; } + protected abstract IDictionary ControlSkins { get; } + protected abstract string[] LinkedStyleSheets { get; } + + [MonoTODO] + protected Page Page { + get { throw new NotImplementedException (); } + } + } +} + +#endif diff --git a/mcs/class/System.Web/System.Web.UI/PostBackOptions.cs b/mcs/class/System.Web/System.Web.UI/PostBackOptions.cs index c75c6eb54eb..e764d7f6219 100644 --- a/mcs/class/System.Web/System.Web.UI/PostBackOptions.cs +++ b/mcs/class/System.Web/System.Web.UI/PostBackOptions.cs @@ -29,6 +29,7 @@ #if NET_2_0 using System; +using System.ComponentModel; namespace System.Web.UI { @@ -69,49 +70,57 @@ namespace System.Web.UI this.validationGroup = validatingGroup; } + [DefaultValue ("")] public string ActionUrl { get { return actionUrl; } set { actionUrl = value; } } + [DefaultValue ("")] public string Argument { get { return argument; } set { argument = value; } } [MonoTODO ("Implement support for this in Page")] + [DefaultValue (false)] public bool AutoPostBack { get { return autoPostBack; } set { autoPostBack = value; } } + [DefaultValue (true)] public bool ClientSubmit { get { return clientSubmit; } set { clientSubmit = value; } } + [DefaultValue (false)] public bool PerformValidation { get { return performValidation; } set { performValidation = value; } } + [DefaultValue (true)] public bool RequiresJavaScriptProtocol { get { return requiresJavaScriptProtocol; } set { requiresJavaScriptProtocol = value; } } + [DefaultValue (null)] public Control TargetControl { get { return control; } - set { control = value; } } [MonoTODO ("Implement support for this in Page")] + [DefaultValue (false)] public bool TrackFocus { get { return trackFocus; } set { trackFocus = value; } } [MonoTODO ("Implement support for this in Page")] + [DefaultValue ("")] public string ValidationGroup { get { return validationGroup; } set { validationGroup = value; } diff --git a/mcs/class/System.Web/System.Web.UI/PropertyEntry.cs b/mcs/class/System.Web/System.Web.UI/PropertyEntry.cs index 942d262910d..b83d24b1167 100644 --- a/mcs/class/System.Web/System.Web.UI/PropertyEntry.cs +++ b/mcs/class/System.Web/System.Web.UI/PropertyEntry.cs @@ -39,6 +39,8 @@ namespace System.Web.UI string filter; PropertyInfo pinfo; + internal PropertyEntry () { } + public Type DeclaringType { get { return pinfo.DeclaringType; } } diff --git a/mcs/class/System.Web/System.Web.UI/SimplePropertyEntry.cs b/mcs/class/System.Web/System.Web.UI/SimplePropertyEntry.cs index 057c9debf9a..6bd7912f1f7 100644 --- a/mcs/class/System.Web/System.Web.UI/SimplePropertyEntry.cs +++ b/mcs/class/System.Web/System.Web.UI/SimplePropertyEntry.cs @@ -34,6 +34,8 @@ namespace System.Web.UI bool useSetAttribute; object val; + internal SimplePropertyEntry () { } + public bool UseSetAttribute { get { return useSetAttribute; } set { useSetAttribute = value; } diff --git a/mcs/class/System.Web/System.Web.UI/SimpleWebHandlerParser.cs b/mcs/class/System.Web/System.Web.UI/SimpleWebHandlerParser.cs index 4aae5b816df..5b09e23b4a1 100644 --- a/mcs/class/System.Web/System.Web.UI/SimpleWebHandlerParser.cs +++ b/mcs/class/System.Web/System.Web.UI/SimpleWebHandlerParser.cs @@ -103,7 +103,7 @@ namespace System.Web.UI GetDirectivesAndContent (); } #if NET_2_0 - protected SimpleWebHandlerParser (HttpContext context, string virtualPath, string physicalPath, TextReader reader) + internal SimpleWebHandlerParser (HttpContext context, string virtualPath, string physicalPath, TextReader reader) : this (context, virtualPath, physicalPath) { this.reader = reader; diff --git a/mcs/class/System.Web/System.Web.UI/SkinBuilder.cs b/mcs/class/System.Web/System.Web.UI/SkinBuilder.cs new file mode 100644 index 00000000000..aaa2a89f625 --- /dev/null +++ b/mcs/class/System.Web/System.Web.UI/SkinBuilder.cs @@ -0,0 +1,60 @@ +// +// System.Web.UI.SkinBuilder.cs +// +// Authors: +// Chris Toshok (toshok@ximian.com) +// +// (C) 2006 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_2_0 + +namespace System.Web.UI { + + public sealed class SkinBuilder : ControlBuilder + { + ThemeProvider provider; + Control control; + ControlBuilder skinBuilder; + string themePath; + + public SkinBuilder (ThemeProvider provider, + Control control, + ControlBuilder skinBuilder, + string themePath) + { + this.provider = provider; + this.control = control; + this.skinBuilder = skinBuilder; + this.themePath = themePath; + } + + [MonoTODO] + public Control ApplyTheme () + { + return control; + } + } + +} + +#endif diff --git a/mcs/class/System.Web/System.Web.UI/TemplateControl.cs b/mcs/class/System.Web/System.Web.UI/TemplateControl.cs index 92f420b3242..a68a6674956 100644 --- a/mcs/class/System.Web/System.Web.UI/TemplateControl.cs +++ b/mcs/class/System.Web/System.Web.UI/TemplateControl.cs @@ -73,6 +73,9 @@ namespace System.Web.UI { #region Properties [EditorBrowsable (EditorBrowsableState.Never)] +#if NET_2_0 + [Obsolete] +#endif protected virtual int AutoHandlers { get { return 0; } set { } @@ -231,7 +234,11 @@ namespace System.Web.UI { } [EditorBrowsable (EditorBrowsableState.Never)] - public static object ReadStringResource () + public +#if !NET_2_0 + static +#endif + object ReadStringResource () { throw new NotSupportedException (); } @@ -331,7 +338,7 @@ namespace System.Web.UI { return DataBinder.Eval (CurrentDataItem, expression); } - protected object Eval (string expression, string format) + protected string Eval (string expression, string format) { return DataBinder.Eval (CurrentDataItem, expression, format); } @@ -341,7 +348,7 @@ namespace System.Web.UI { return XPathBinder.Eval (CurrentDataItem, xpathexpression); } - protected object XPath (string xpathexpression, string format) + protected string XPath (string xpathexpression, string format) { return XPathBinder.Eval (CurrentDataItem, xpathexpression, format); } diff --git a/mcs/class/System.Web/System.Web.UI/ThemeProvider.cs b/mcs/class/System.Web/System.Web.UI/ThemeProvider.cs new file mode 100644 index 00000000000..cf6d325e063 --- /dev/null +++ b/mcs/class/System.Web/System.Web.UI/ThemeProvider.cs @@ -0,0 +1,97 @@ +// +// System.Web.UI.ThemeProvider.cs +// +// Authors: +// Chris Toshok (toshok@ximian.com) +// +// (C) 2006 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +#if NET_2_0 + +using System.Collections; +using System.Collections.Specialized; +using System.ComponentModel; +using System.ComponentModel.Design; + +namespace System.Web.UI { + + public sealed class ThemeProvider + { + IDesignerHost host; + string name; + string themeDefinition; + string[] cssFiles; + string themePath; + + public ThemeProvider (IDesignerHost host, + string name, + string themeDefinition, + string[] cssFiles, + string themePath) + { + this.host = host; + this.name = name; + this.themeDefinition = themeDefinition; + this.cssFiles = cssFiles; /* XXX copy? */ + this.themePath = themePath; + } + + [MonoTODO] + public SkinBuilder GetSkinBuilder (Control control) + { + throw new NotImplementedException (); + } + + [MonoTODO] + public IDictionary GetSkinControlBuildersForControlType (Type type) + { + throw new NotImplementedException (); + } + + [MonoTODO] + public ICollection GetSkinsForControl (Type type) + { + throw new NotImplementedException (); + } + + [MonoTODO] + public int ContentHashCode { + get { throw new NotImplementedException (); } + } + + public ICollection CssFiles { + get { return cssFiles; } + } + + public IDesignerHost DesignerHost { + get { return host; } + } + + public string ThemeName { + get { return name; } + } + } + +} + +#endif diff --git a/mcs/class/System.Web/System.Web.dll.sources b/mcs/class/System.Web/System.Web.dll.sources index ea60db9921e..e051c594b94 100644 --- a/mcs/class/System.Web/System.Web.dll.sources +++ b/mcs/class/System.Web/System.Web.dll.sources @@ -456,7 +456,8 @@ System.Web.UI/ControlBuilder.cs System.Web.UI/ControlCachePolicy.cs System.Web.UI/ControlCollection.cs System.Web.UI/Control.cs -System.Web.UI/ControlSkinProc.cs +System.Web.UI/ControlSkin.cs +System.Web.UI/ControlSkinDelegate.cs System.Web.UI/ControlValuePropertyAttribute.cs System.Web.UI/CssStyleCollection.cs System.Web.UI/DataBinder.cs @@ -579,6 +580,7 @@ System.Web.UI/Page.cs System.Web.UI/PageHandlerFactory.cs System.Web.UI/PageParser.cs System.Web.UI/PageStatePersister.cs +System.Web.UI/PageTheme.cs System.Web.UI/Pair.cs System.Web.UI/ParseChildrenAttribute.cs System.Web.UI/PartialCachingAttribute.cs @@ -594,6 +596,7 @@ System.Web.UI/RootBuilder.cs System.Web.UI/SimpleHandlerFactory.cs System.Web.UI/SimplePropertyEntry.cs System.Web.UI/SimpleWebHandlerParser.cs +System.Web.UI/SkinBuilder.cs System.Web.UI/StateBag.cs System.Web.UI/StateItem.cs System.Web.UI/StateManagedCollection.cs @@ -602,15 +605,14 @@ System.Web.UI/SupportsEventValidationAttribute.cs System.Web.UI/TagPrefixAttribute.cs System.Web.UI/TemplateBuilder.cs System.Web.UI/TemplateContainerAttribute.cs -System.Web.UI/TemplateContentType.cs System.Web.UI/TemplateControl.cs System.Web.UI/TemplateControlParser.cs System.Web.UI/TemplateInstance.cs System.Web.UI/TemplateParser.cs System.Web.UI/ThemeableAttribute.cs +System.Web.UI/ThemeProvider.cs System.Web.UI/ToolboxDataAttribute.cs System.Web.UI/Triplet.cs -System.Web.UI/TwoWayBoundPropertyEntry.cs System.Web.UI/UrlPropertyAttribute.cs System.Web.UI/UserControlControlBuilder.cs System.Web.UI/UserControl.cs |