2003-05-01 Gonzalo Paniagua Javier * ApplicationFileParser.cs: use the generator to actually parse the file. * ControlBuilder.cs: small fix in NamingContainerType because TemplateBuilders have a null ControlType. When a control is appended to a parent, assign the child's parent. * UserControlParser.cs: fixed the value of InputFile. 2003-04-30 Gonzalo Paniagua Javier * ApplicationFileParser.cs: store the Context and override BaseVirtualDir so that it's the application path. * BaseParser.cs: removed CurrentVirtualPath property. * TemplateControlParser.cs: use BaseVirtualDir. * UserControlParser.cs: removed CurrentVirtualPath. 2003-04-30 Gonzalo Paniagua Javier * TemplateParser.cs: always reference all the assemblies in bin directory. 2003-04-30 Gonzalo Paniagua Javier * ApplicationFileParser.cs: it works now. Prior to these changes, we were using the compiler directly. * BaseParser.cs: added some useful properties and methods. * CodeBuilder.cs: use ILocation. * CodeRenderBuilder.cs: use ILocation. * CollectionBuilder.cs: use the RootBuilder to map tag names into Types. * ControlBuilder.cs: made it useful. * DataBindingBuilder.cs: the control type for data bound text is DataBoundLiteralControl now. * ObjectTagBuilder.cs: store some object tag attributes. * PageParser.cs: handle page-only directives. * RootBuilder.cs: bah. * SimpleWebHandlerParser.cs: made it dummy. * TemplateControl.cs: Modified file. * TemplateControlParser.cs: handle directives that are common to pages and user controls. * TemplateParser.cs: utility methods and handling of directives that are common to app, page and user controls. * UserControl.cs: added ControlBuilderAttribute. * UserControlControlBuilder.cs: builder for user controls. * UserControlParser.cs: use the new interfaces. 2003-04-20 Gonzalo Paniagua Javier * ControlBuilder.cs: line and fileName are protected now. * CodeBuilder.cs: base class for the next 2 files. * CodeRenderBuilder.cs: builder for code render. * DataBindingBuilder.cs: builder for data binding. 2003-04-20 Gonzalo Paniagua Javier * ITagNameToTypeMapper.cs: made it internal. * ObjectTagBuilder.cs: builder for tag. * ObjectTag.cs: * RootBuilder.cs: initial builder. 2003-04-15 Gonzalo Paniagua Javier * CollectionBuilder.cs: * TemplateBuilder.cs: new classes derived from ControlBuilder that represent a property or a ITemplate. * ControlBuilder.cs: implemented all the missing bits. * TemplateParser.cs: added mapping from tag name to Type feature. 2003-02-15 Gonzalo Paniagua Javier * Control.cs: have i definitely fixed naming container stuff this time? * LosFormatter.cs: activated binary serialization code. 2003-02-14 Gonzalo Paniagua Javier * Control.cs: (AddedControl): fixed default id assignation when the sequence of AddedControl until it's included in the page or one of its controls does not pass through a naming container. 2003-02-09 Gonzalo Paniagua Javier * Control.cs: give different default names depending on the place where it is assigned. Implemented ResolveURl (no more ~ rendered in attributes!). 2003-02-08 Gonzalo Paniagua Javier * Control.cs: when adding a control, assign default names to th children that don't have one. 2003-02-03 Gonzalo Paniagua Javier * SimpleWebHandlerParser.cs: modified to use the new parser interface. 2003-01-17 Gonzalo Paniagua Javier * Control.cs: some more tweaks to naming containers stuff. * DataBinder.cs: don't throw exception if the container is null. * Page.cs: now we can render client scripts, startup scripts and hidden fields. Only render __VIEWSTATE if there is someone that will take care of it. (RaisePostBackEvents): first try the last one that required raise event, then try __EVENTTARGET. 2003-01-16 Gonzalo Paniagua Javier * Control.cs: fixes in UniqueID, FindControl, AddedControl, UnloadRecursive, InitRecursive. Reduced the size of __VIEWSTATE. Made FindControl work with NamingContainers. * ControlCollection.cs: notify the parent when clearing the collection. * LosFormatter.cs: Added debugging output and generate a valid viewstate even for unknown types. * Page.cs: GetPostBackEventReference now uses UniqueID. Reduced viewstate. 2003-01-10 Gonzalo Paniagua Javier * Page.cs: make it fire the LoadData related events also for controls such as ImageButton, whose variable(s) in the query string are of the form ctrl_name.x and only fire them once per control. 2003-01-08 Gonzalo Paniagua Javier * DataBinder.cs: (GetPropertyValue): don't try to get the property as indexed 2003-01-08 Gonzalo Paniagua Javier * DataBinder.cs: use TypeDescriptor to get the properties and their values. 2003-01-04 Gonzalo Paniagua Javier * Control.cs: (AddedControl): take the children to the same state of the parent. (InitRecursive): set the page of the children. * Page.cs: removed one line (it's done a few lines above). * UserControl.cs: (OnInit): always call InitializeAsUserControl (InitializeAsUserControl): sets the page for the control. 2003-01-03 Gonzalo Paniagua Javier * Control.cs: fixed bug #36037. 2002-12-20 Gonzalo Paniagua Javier * BaseParser.cs: a couple of path fixes to make it work when the page is not in the root directory. 2002-12-20 Gonzalo Paniagua Javier * Control.cs: fixed PreRenderRecursiveInternal. Thanks to kojoadams for reporting the bug. 2002-12-18 Gonzalo Paniagua Javier * BaseParser.cs: use MapPath and context to locate files. * Control.cs: implemented MapPathSecure. * TemplateControl.cs: use UrlUtils to generate the path. * TemplateControlParser.cs: use the context and MapPath. * UserControl.cs: implemented MapPath. * UserControlParser.cs: added context parameter to constructor. 2002-12-17 Gonzalo Paniagua Javier * Control.cs: implemented MapPathSecure. * Page.cs: fixed Server property. 2002-12-15 Gonzalo Paniagua Javier * DataBinder.cs: try the indexer if the property is not found in GetPropertyValue (). 2002-12-13 Gonzalo Paniagua Javier * Control.cs: added AutoEventWireup internal property. * Page.cs: removed page events wire up from here. * TemplateControl.cs: new method WireupAutomaticEvents to hook up page and user controls events. * TemplateControlParser.cs: process the options that are applicable once we have the instance of the control. * TemplateParser.cs: also stores the options. * UserControl.cs: hook up events before initializing the control. 2002-12-12 Gonzalo Paniagua Javier * Control.cs: new method to set bindingContainer value. * TemplateControl.cs: added controls are not binding containers. 2002-12-12 Gonzalo Paniagua Javier * Control.cs: implemented TemplateSourceDirectory. * TemplateControl.cs: implemented LoadControl and LoadTemplate. 2002-11-27 Gonzalo Paniagua Javier * UserControl.cs: fixed SetAttribute. * UserControlParser.cs: set the correct base type. 2002-11-26 Gonzalo Paniagua Javier * TemplateParser.cs: fixed BaseType. * UserControlParser.cs: helper class to compile user controls. 2002-11-20 Gonzalo Paniagua Javier * LosFormatter.cs: added DateTime to special types. 2002-11-12 Gonzalo Paniagua Javier * LosFormatter.cs: added array serialization support. Disabled binary serialization and add some debugging code. * StateBag.cs: the length of the list of value can be less than the length if the list of keys when remaining values are null. 2002-11-07 Gonzalo Paniagua Javier * Page.cs: return something useful in GetPostBackClientEvent. 2002-11-02 Gonzalo Paniagua Javier * Page.cs: implemented FileDependecies and made it protected. 2002-10-31 Gonzalo Paniagua Javier * Control.cs: save control names instead of the controls themselves to the ViewState. * LosFormatter.cs: added support for serializing unknown types. BinaryFormatter does not work so you better don't store anything of unknown Type in ViewState. * Page.cs: GetViewStateString works now using LosFormatter. Complete "Control execution lifecycle" by unloading all the child controls. Check for null in RaisePostBackEvents. LoadPageViewStateFromPersistenceMedium uses LosFormatter too. 2002-10-29 Gonzalo Paniagua Javier * DataBinder.cs: implemented Eval and GetIndexedPropertyValue methods. 2002-10-27 Gonzalo Paniagua Javier * LosFormatter.cs: Use WebEncoding.Encoding. * Control.cs: * Page.cs: fixed namespace. 2002-10-24 Gonzalo Paniagua Javier * Page.cs: set the context in ProcessRequest. Added a few trace calls. * Control.cs: added some trace information. 2002-10-08 Gonzalo Paniagua Javier * SimpleHandlerFactory.cs: new handler for .ashx files. 2002-09-28 Gonzalo Paniagua Javier * System.Web.UI/PageHandlerFactory.cs: new file. * System.Web.UI/PageParser.cs: * System.Web.UI/TemplateControlParser.cs: we are now able to compile pages and use HttpApplication, HttpRuntime and SimpleWorkerRequest. 2002-09-25 Gonzalo Paniagua Javier * Control.cs: implemented ObBubbleEvent. * Page.cs: temporary workaround to make POST work with xsp server. 2002-09-22 Gonzalo Paniagua Javier * Page.cs: fixed InvokeEventMethod now that Type.GetMethod does not return pvt methods. 2002-09-11 Gonzalo Paniagua Javier * SimpleWebHandlerParser.cs: New file. * WebServiceParser.cs: New file. 2002-08-22 Gonzalo Paniagua Javier * LosFormatter.cs: almost fully implemented. 2002-08-18 Gonzalo Paniagua Javier * CompiledTemplateBuilder.cs: InstantiateIn is virtual. * EmptyControlCollection.cs: throw correct exception. * LosFormatter.cs: stubbed out. * OutputCacheLocation.cs: little fix. 2002-08-16 Gonzalo Paniagua Javier * System.Web.UI/ApplicationFileParser.cs: * System.Web.UI/BaseParser.cs: * System.Web.UI/PageParser.cs: * System.Web.UI/TemplateControl.cs: * System.Web.UI/TemplateControlParser.cs: * System.Web.UI/TemplateParser.cs: first steps to move xsp into System.Web. 2002-07-30 Gonzalo Paniagua Javier * Page.cs: request to render postback script can be after form started rendering. 2002-07-22 Gonzalo Paniagua Javier * Page.cs: added more page events to invoke automagically if some methods are defined. 2002-07-22 Gonzalo Paniagua Javier * Control.cs: (SaveViewState): save state even when control is not visible. (SaveViewStateRecursive): (LoadViewStateRecursive): made internal. 2002-07-21 Gonzalo Paniagua Javier * Page.cs: improved event raising to allow client postback for a wider variety of actions (clicking an hyperlink, ...). 2002-07-20 Gonzalo Paniagua Javier * UserControl.cs: implemented Load/SaveViewState. 2002-07-20 Gonzalo Paniagua Javier * AttributeCollection.cs: (Add): handle 'style' through styleCollection. * CssStyleCollection.cs: (fillStyle): renamed to FillStyle and made it internal. * Page.cs: (GetViewStateString): fixed, broken after other recent changes. (ProcessPostData): allow a second try for postback data after OnLoad. (ProcessRequest): clear controls collection, removed call to UnloadRecursive. 2002-07-19 Gonzalo Paniagua Javier * Control.cs: uncommented Dispose. * Page.cs: (DeterminePostBackMode): more checkings. (GetPostBackClientHyperLink): implemented. (GetPostBackEventReference): added some comments with the HTML that MS generates for that. (ProcessRequest): fixed processing order. The page is unloaded after a request and regenerated from view state on subsequents posts. 2002-07-17 Gonzalo Paniagua Javier * Control.cs: fixed related to ViewState. Added RemovedControl. * ControlCollection.cs: notify owner of control removal. * CssStyleCollection.cs: almost rewritten to make it render the style attribute after changes to it. * Page.cs: follow the guidelines in 'Control execution lifecycle'. Removed Xml code. * StateBag.cs: don't use IDictionary.GetEnumerator on the HybridDictionary: it makes the program give an InvalidCastException at runtime. Why? 2002-07-16 Gonzalo Paniagua Javier * Page.cs: fire Init and Load events for all children. 2002-07-14 Gonzalo Paniagua Javier * UserControl.cs: New file. 2002-07-13 Gonzalo Paniagua Javier * ControlBuilderAttribute.cs: finished implementation. 2002-07-12 Gonzalo Paniagua Javier * ConstructorNeedsTagAttribute.cs: the default constructor sets the property to false. 2002-07-12 Gonzalo Paniagua Javier * System.Web.UI/AttributeCollection.cs: added CssStyleCollection. * System.Web.UI/CssStyleCollection.cs: use a StateBag instead of a Hashtable. Added internal .ctor. * System.Web.UI/DataBinding.cs: propertyType is a Type. Implemented Equals and GetHashCode. * System.Web.UI/DataBoundLiteralControl.cs: (LoadViewState): (SaveViewState): implemented. * System.Web.UI/Page.cs: FileDependencies is not public. * System.Web.UI/ParseChildrenAttribute.cs: give a value to Default. (GetHashCode): (Equals): (IsDefaultAttribute): implemented. 2002-07-08 Gonzalo Paniagua Javier * Control.cs: fixed Visible property. * Page.cs: fixed GetViewStateString. 2002-07-05 Gonzalo Paniagua Javier * System.Web.UI/Page.cs: (GetViewStateString): new function to give the server access to the generated view state string. (Validate): d'oh! 2002-07-05 Gonzalo Paniagua Javier * Control.cs: (SaveViewstateRecursive): implemented. (SaveViewState): fixed. (IParserAccessor.AddParsedSubObject): don't use 'this'. * Page.cs: added code to save view state to an xml file. It's not being used right now. 2002-06-30 Gonzalo Paniagua Javier * System.Web.UI/LiteralControl.cs: Fixes based on class status page: - Add attributes (DefaultEvent, ParseChildren). - Fix declarations. - Explicitly implement some interfaces (IPostBackDataHandler and IPostBackEventHandler). - Implemented some missing methods. 2002-06-29 Gonzalo Paniagua Javier * Control.cs: reimplemented FindControls. * Page.cs: (.ctor): set the page for this control. (IsPostBack): return valid value. (DeterminePostBackMode): finished. (OnFormRender): render __VIEWSTATE (uses GetTypeHashCode()). (ProcessPostData): implemented. Raises change and postback events. (ProcessRequest): changed to support reuse of the instance. (RegisterRequiresPostBack): implemented. * ValidatorCollection.cs: implemented all methods. 2002-06-25 Gonzalo Paniagua Javier * Control.cs: * Page.cs: first attemp to save view state. * HtmlForm.cs: don't render Action. 2002-06-24 Gonzalo Paniagua Javier * Page.cs: implemented more properties using information we already have in Context. (OnFormRender): (OnFormPostRender): (VerifyRenderingInServerForm): implemented. 2002-06-22 Gonzalo Paniagua Javier * Page.cs: changed InvokeEventMethod to use a GetMethod that works with out runtime. Renamed Page_Init and Page_Load. After this, we can load a dll and render HTML in linux. 2002-06-20 Gonzalo Paniagua Javier * Control.cs: (AddedControl): new function that is called whenever a control is added to a collection of controls in a container. It sets the defaults except for Page. * ControlCollection.cs: call AddedControl in Add/AddAt. * DataBoundLiteralControl.cs: implemented constructor, Text, Render, SetStaticString and SetDataBoundString. * Page.cs: removed SetDefaults. 2002-06-19 Gonzalo Paniagua Javier * CompiledTemplateBuilder.cs: new file. Used in the code generated by xsp. * Control.cs: (BindingContainer): implemented. (EnsureChildControls): avoid stack overflow. * DataBinder.cs: implemented Eval and PropertyValue. 2002-06-18 Gonzalo Paniagua Javier * HtmlTextWriter.cs: fixed style attributes rendering (almost the same bug as in regular attributes). 2002-06-17 Gonzalo Paniagua Javier * Control.cs: implemented PreventAutoID. * Page.cs: (SetDefaults): don't set ID automatically if Control.PreventAutoID has been called. 2002-06-12 Gonzalo Paniagua Javier * Page.cs: (Validators): if the collection is null, create one. (GetPostBackEventReference 2): don't throw exception. (GetPostBackClientEvent): return a string with containing the method name, the control name and the argument. 2002-06-12 Gonzalo Paniagua Javier * Page.cs: SetPage is now called SetDefaults and also sets a default ID for controls that don't have one yet. 2002-06-12 Gonzalo Paniagua Javier * Page.cs: (GetPostBackClient): (RegisterRequiresPostBack): don't throw NotImplementedException to keep going. (ProcessRequest): set the current page as the Page property for *all* the controls, not just the direct children of the page. 2002-06-11 Gonzalo Paniagua Javier * Control.cs: (MapPathSecure): until security is implemented, return the same path received as argument. (RenderControl): call OnPreRender before rendering the control. So AdRotator can read its configuration file.Is there any other place where this should be done? * HtmlTextWriter.cs: (AddAttribute): fixed. Now it really stores attributes. (RenderBeginTag): fixed a couple of bugs (little ones but hard to find). 2002-06-09 Gonzalo Paniagua Javier * ControlCollection.cs: (AddAt): if index is -1 behave as a plain Add. 2002-06-06 Gonzalo Paniagua Javier * Page.cs: for each child control to render, assign Control.Page. Probably also needed in HtmlContainerControl derived classes. 2002-06-05 Gonzalo Paniagua Javier * AttributeCollection.cs: don't need a Hastable. StateBag now works fine and takes care of the details. * Control.cs: added HasChildren property. * StateBag.cs: fixed a couple of nasty bugs. 2002-06-05 Gonzalo Paniagua Javier * Page.cs: run OnInit, OnLoad y PreRender before rendering the page. Invoke Page_Init and/or Page_Load if the user supplied them (though this should depend on AutoEventWireUp attribute of Page directive). 2002-06-04 Gonzalo Paniagua Javier * Control.cs: don't throw exception in ControlID. By now, it returns ID. * Page.cs: (ProcessRequest): implemented. 2002-06-04 Gonzalo Paniagua Javier * System.Web.UI/Page.cs: finished stubbing out. Implemented some methods. 2002-06-03 Gonzalo Paniagua Javier * Page.cs: (FileDependencies): now is public public. (EnableViewStateMAC): uncommented and made protected. (GetTypeHashCode): added method. 2002-05-24 Duncan Mak * TemplateControl.cs (SetStringResourcePointer): Fixed typo. * StateBag.cs (Item): Changed the visibility level of the this [object] indexer. Misc. formatting edits, fixing some bugs introduced by the indentation. * DataBinder.cs (Eval) (GetIndexedPropertyValue) (GetPropertyValue): Fixed return types. 2002-05-21 Miguel de Icaza * HtmlTextWriter.cs: Use this to change the member instances. 2002-05-17 Duncan Mak * AttributeCollection.cs: * ControlCollection.cs: * CssStyleCollection.cs: * DataBindingCollection.cs: * EmptyControlCollection.cs: Added missing Collection classes. 2002-05-17 Duncan Mak * BaseParser.cs: * TemplateParser.cs: Implemented. BaseParser is weird because there is no documentation on what it does. * ControlBuilder.cs: * DataBinder.cs: * DataBinding.cs: Added. * DataBoundLiteralControl.cs: * Triplet.cs: Added. * RenderMethod.cs: Added this delegate for Control.cs 2002-05-15 Gonzalo Paniagua Javier * ValidationPropertyAttribute.cs: a couple of fixes to make it compile. 2002-05-14 Duncan Mak * ValidationPropertyAttribute.cs: Added to CVS. 2002-05-10 Duncan Mak * ConstructorNeedsTagAttribute.cs: * ControlBuilderAttribute.cs: * ImageClickEventArgs.cs: * ParseChildrenAttribute.cs: * PartialCachingAttribute.cs: * PersistChildrenAttribute.cs: * PersistenceModeAttribute.cs: * TemplateContainerAttribute.cs: Added to CVS. * PersistanceMode.cs: Removed, fixed typo. * PersistenceMode.cs: Replacing above. * StateBag.cs (this): Fixed indexer, it takes a string as the index, not an object. * ValidatorCollection.cs: Fixed typo, ValidatedCollection to ValidatorCollection. * Page.cs (Validators): return type should be ValidatorCollection, not ValidatedCollection. * TagPrefixAttribute.cs: Added to CVS. 2002-05-07 Duncan Mak * Utils.cs (GetClientValidatedEvent): Uncommented the 'Page' argument. 2002-03-26 Gaurav Vaish * DataBindingHandlerAttribute.cs - Completed * ToolboxDataAttribute.cs - Completed 2002-01-03 Nick Drochak * DesignTimeParseData.cs: initialze static member to avoid compile error * PropertyConverter.cs: remove uneeded exception variables from catch blocks. 2002-01-02 Nick Drochak * DesignTimeParseData.cs: fix header to show correct class name 2001-12-21 Gaurav Vaish * StateBag.cs - Completed 2001-12-19 Gaurav Vaish * Pair.cs - Small undocumented class. Completed. 2001-12-18 Gaurav Vaish * DesignTimeParseData.cs - Initial implementation * StateBag.cs - Initial implementation 2001-12-17 Gaurav Vaish * PropertyConverter.cs - Undocumented class. Completed. * Utils.cs - Undocumented, private class. Initial implementation 2001-08-28 Bob Smith * Control.cs: Figured out some undocumented API. * Added TODO. * BuildMethod.cs: Initial implementation. * BuildTemplateMethod.cs: Initial implementation. * HtmlTextWriterAttribute.cs: Initial implementation. * HtmlTextWriterStyle.cs: Initial implementation. * HtmlTextWriterTag.cs: Initial implementation. * IAttributeAccessor.cs: Initial implementation. * IDataBindingsAccessor.cs: Initial implementation. * ImageClickEventHandler.cs: Initial implementation. * INamingContainer.cs: Initial implementation. * IParserAccessor.cs: Initial implementation. * IPostBackDataHandler.cs: Initial implementation. * IPostBackEventHandler.cs: Initial implementation. * IStateManager.cs: Initial implementation. * ITagNameToTypeMapper.cs: Initial implementation. * ITemplate.cs: Initial implementation. * IValidator.cs: Initial implementation. * OutputCacheLocation.cs: Initial implementation. * PersistanceMode.cs: Initial implementation. * StateItem.cs: Initial implementation. 2001-08-27 Bob Smith * Control.cs: Bug fixes and implementations. 2001-08-24 Bob Smith * Control.cs: Bug fixes. 2001-08-23 Bob Smith * Control.cs: More implementation. Events reworked for performance. 2001-08-22 Bob Smith * LiteralControl.cs: Implemented. * Control.cs: Even more implementation (Events). What a beast. 2001-08-20 Bob Smith * Control.cs: More implementation. Not done yet. Shutter. 2001-08-17 Bob Smith * Control.cs: Partial implementation.