2006-02-07 Chris Toshok <toshok@ximian.com>
authorChris Toshok <toshok@novell.com>
Tue, 7 Feb 2006 16:49:01 +0000 (16:49 -0000)
committerChris Toshok <toshok@novell.com>
Tue, 7 Feb 2006 16:49:01 +0000 (16:49 -0000)
commit20ca96da5aa7c9744e7a18724bd9bd223149e0b4
treec723d2d9523a82e06d41346fdd333ad086b89966
parente210711eea38feec1b8bfe3721fae1d39656c787
2006-02-07  Chris Toshok  <toshok@ximian.com>

* MasterPage.cs: rework this file, adding some static methods
gleaned from MS stack traces, and clear up the propogation of
content templates between nested master pages.

* Control.cs (TemplateControl): implement.

* TemplateControl.cs: re-indent some of the code.
(ReadStringRecource): according to msdn2, these throw
NotSupportedException.

* MasterPageParser.cs (HandleOption): implement.  assign our
master page's MasterPageFile from the UserControl property.

* UserControl.cs (InitializeAsUserControlInternal): new method
that allows initialization without a page.

* UserControlParser.cs (ProcessMainAttributes): for 2.0 handle
MasterPageFile attributes, so we can have nested master pages.
(MasterPageFile): add a 2.0 specific property.

* TemplateControlParser.cs: in .net 2.0, our base class is
BaseTemplateParser.
(HandleOptions): be consistent and call base.HandleOptions.

* BaseTemplateParser.cs: new (stubbed) class.

* MasterPageControlBuilder.cs: new file, not filled in (and really
not used either.)

* Page.cs (InternalProcessRequest): call ApplyMasterPage.
(SaveExistingContentTemplates): nuke.
(ReapplyExistingContentTemplate): nuke.
(ApplyMasterPage): if we have a master page, call
MasterPage.ApplyMasterPageRecursive with it and add it to our
controls.
(set_MasterPageFile): remove call to SaveExistingContentTemplates.
(get_Master): call MasterPage.CreateMasterPage.
(AddContentTemplate): keep track of the page's content templates
in a local Hashtable - they aren't our master page's content
templates.

svn path=/trunk/mcs/; revision=56620
mcs/class/System.Web/System.Web.UI/BaseTemplateParser.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web.UI/ChangeLog
mcs/class/System.Web/System.Web.UI/Control.cs
mcs/class/System.Web/System.Web.UI/MasterPage.cs
mcs/class/System.Web/System.Web.UI/MasterPageControlBuilder.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web.UI/MasterPageParser.cs
mcs/class/System.Web/System.Web.UI/Page.cs
mcs/class/System.Web/System.Web.UI/TemplateControl.cs
mcs/class/System.Web/System.Web.UI/TemplateControlParser.cs
mcs/class/System.Web/System.Web.UI/UserControl.cs
mcs/class/System.Web/System.Web.UI/UserControlParser.cs