2005-11-21 Gonzalo Paniagua Javier * CheckBox.cs: use the NameAttribute property for setting 'name'. * RadioButton.cs: get a UniqueID based identifier for 'name'. Fixes bug #76710. 2005-11-18 Gonzalo Paniagua Javier * LinkButton.cs: don't output any javascript when the linkbutton is disabled. Fixes bug #76713. 2005-11-18 Gonzalo Paniagua Javier * DataGrid.cs: use TableHeaderCell instead of TableCell for headers when UseAccesibleHeader property is true. Patch by Robert Jordan. 2005-11-18 Gonzalo Paniagua Javier * BaseValidator.cs: 'controltovalidate' must be the ClientID of the control to validate. Fixes bug #76641. 2005-11-18 Gonzalo Paniagua Javier * BoundColumn.cs: when the column is readonly and we're in edit mode, keep it as a TextBox. Fixes bug #76714. 2005-11-03 Gonzalo Paniagua Javier * ListBox.cs: render the 'onchange' attribute when AutoPostback is enabled. Fixes bug #76608. 2005-11-03 Gonzalo Paniagua Javier * CheckBox.cs: AddAttributesToRender was extra in 1.1, so moved all the logic to Render and make it render the ID, which fixes bug #76596. 2005-10-25 Gonzalo Paniagua Javier * Repeater.cs: someone forgot the curly brackets. Fixes bug 76537. 2005-10-24 Gonzalo Paniagua Javier * Literal.cs: allow LiteralControl as child, but instead of adding it to the control collection, it just gets the Text out of it. 2005-10-22 Gonzalo Paniagua Javier * PagedDataSource.cs: fix range when we're at the last page. * DataGrid.cs: only need to keep the item count in the viewstate. Fixes bug #76503. 2005-10-20 Gonzalo Paniagua Javier * ListControl.cs: made GetSelectedIndices() internal. * ListBox.cs: html-encode the item text. Fixed single and multiple selection handling. All the tests pass now. Closes bug #76478. 2005-10-18 Gonzalo Paniagua Javier * ListControl.cs: throw when the selected value is not in the items collection. Fixes bug #76415. 2005-10-17 Gonzalo Paniagua Javier * BaseDataList.cs: Type.GetTypeCode was fixed and now does not throw a nullref, so we have to do it by ourselves here to make the test happy. * BaseValidator.cs: render the text of the error message even if we set IsValid programatically. Don't use 'valid' directly, as IsValid is virtual. Fixes bug #76299. 2005-10-17 Gonzalo Paniagua Javier * CustomValidator.cs: an empty ControlToValidate is valid. 2005-10-17 Sebastien Pouliot * RequiredFieldValidator.cs: Added missing permissions. 2005-10-10 Gonzalo Paniagua Javier * DataList.cs: copied and adapted PrepareControlHierarchy from DataGrid. Now the items get the attributes from the styles in datalist. Add the separators after each item, not before. GetItemStyle returns the actual item style, not the styles in the datalist. Fixes bug #76384 and all new tests pass. 2005-10-10 Gonzalo Paniagua Javier * Style.cs: add a 'border-style: solid' to make IE happy. Fixes bug 76373. 2005-10-07 Gonzalo Paniagua Javier * TemplateColumn.cs: SelectedItem was missing from the select (). Fixes bug #76359. 2005-10-06 Sebastien Pouliot * FontInfo.cs: Gendarme strikes again. Sealed class have no need for inheritance demands. * FontUnit.cs: Structs are sealed so there's no need for inheritance demands. * Unit.cs: Structs are sealed so there's no need for inheritance demands. 2005-10-06 Gonzalo Paniagua Javier * PagedDataSource.cs: fix the upper bound for collection and ilist enumarators. 2005-10-06 Gonzalo Paniagua Javier * DataGrid.cs: change the ListItemType for the item selected, set SelectedIndex before calling OnSelectedIndexChanged and set the selected item type correctly when creating the columns. Fixes bug #76334. * ButtonColumn.cs: * EditCommandColumn.cs: use a ForeColorLinkbutton, otherwise when selecting the row, the button keep the regular link color. * DataGridColumn.cs: made the class internal. 2005-10-04 Gonzalo Paniagua Javier * DataGrid.cs: fix breakaga of alternating item style in one of my last patches. 2005-10-04 Gonzalo Paniagua Javier * Calendar.cs: remove Console. * ListBox.cs: the name is the UniqueID, not the ClientID. * WebControl.cs: Attributes is case insensitive. 2005-10-04 Gonzalo Paniagua Javier * ImageButton.cs: use UniqueID in LoadPostData and also try just the UniqueID without appending a ".x" or ".y". Fixes several issues in mojoPortal. Thanks to Joe Audetter for his patience. 2005-10-02 Gonzalo Paniagua Javier * ButtonColumn.cs: it was lacking databinding, so copied most of it from BoundColumn. 2005-10-02 Gonzalo Paniagua Javier * FontInfo.cs: removed useless ctor. * Style.cs: keep here some commented out debugging code. * DataGrid.cs: the Items property does not create a new arraylist if the items_list was already initialized. Add case for Separator. * DataGridColumn.cs: when sorting is enabled, the linkbutton rendered in the header columns has a special ForeColor handling. 2005-10-02 Gonzalo Paniagua Javier * DataGrid.cs: PageCount must persist in ViewState too and returns the number of pages in the paged data source once we set that. Fix checks for visibility of the pager: no more 2 pagers when custom paging is enabled. 2005-09-30 Gonzalo Paniagua Javier * ImageButton.cs: fix a bug reported on the list. We were triggering the command event on every POST. And the 'name' attribute was not being rendered, so the 'x,y' coordinates didn't have 'uniqueid.' prepended and we couldn't find the values. 2005-09-30 Gonzalo Paniagua Javier * DataGrid.cs: fix the links for the numeric pager. 2005-09-30 Gonzalo Paniagua Javier * DataGrid.cs: when paging is enable, the actual number of items is not the number of items rendered before the postback, but that number times the number of pages. Now we store the page count in the viewstate. Also, as the number might be big, don't allocate an array of objects to fake the collection for the PagedDataSource, but use the new NCollection class instead, which provides cheap (memory wise) enumerator for an arbitrary number of items. Thanks to "Adriano" for the test case. 2005-09-29 Gonzalo Paniagua Javier * Xml.cs: the show must go on. Removed a few NotImplemented. 2005-09-29 Gonzalo Paniagua Javier * Button.cs: implemented 2.0 RaisePostBackEvent in terms of the existing code in 1.1 (or viceversa). RenderContents() does nothing. * DataGrid.cs: changed autoid api. * EditCommandColumn.cs: only 'Update' causes validation. * TableCell.cs: changed autoid api. RenderContents checks the number of controls to decide what to do, not the value of Text in the viewstate. * TableRow.cs: changed autoid api. * BoundColumn.cs: SelectedItem was missing when attaching a DataBind event. When we get an EditItem, we need a TextBox to be created and this one will be the one that gets the event. Changed ItemDataBinding to deal with a TextBox too. 2005-09-29 Gonzalo Paniagua Javier * PagedDataSource.cs: fix IsLastPage. All tests pass. * DataGrid.cs: InitializePager always add a cell and it's brand new. No need to keep the old one in a field. Now all tests pass here too. 2005-09-28 Gonzalo Paniagua Javier * PagedDataSource.cs: don't use the properties when they just return a field. Fixed Count when paging is enabled. In GetEnumerator, IList goes before ICollection (otherwise, an IList will always fall under the ICollection case). The enumerator for lists will be empty if 'start' is beyond the list size. All existing tests pass, but one in DataGridTest that fails because of some problem with the paging. 2005-09-28 Gonzalo Paniagua Javier * Style.cs: fix the 2.0 build. 2005-09-28 Gonzalo Paniagua Javier * Style.cs: avoid unnecesary creation of a CssStyleCollection and instead write the style attributes directly to the HtmlTextWriter. * CheckBox.cs: adapted to new API. * DataGrid.cs: handle null data sources. Fixed the contions that make the table to be added to the Controls collection. * Calendar.cs: the table needed an ID and the attributes from the parent. Also don't create the ControlStyleCollection if it has not already been created. 2005-09-28 Gonzalo Paniagua Javier * DataGrid.cs: handle null data sources. Fixed the contions that make the table to be added to the Controls collection. 2005-09-27 Gonzalo Paniagua Javier * Calendar.cs: TrackViewState should be called upon creation, not on every get_XXX call. Cleanup. 2005-09-27 Gonzalo Paniagua Javier * DataGrid.cs: fix another test. The ID of the table generated by the datagrid is set to the one on the datagrid if no one set the ID for the table. 2005-09-27 Gonzalo Paniagua Javier * ListControl.cs: this fixes TestValueFieldAndTextFormat from DropDownListTest. 2005-09-27 Gonzalo Paniagua Javier * FontUnit.cs: use a table for FontSize names, as the X{1,2}.* ones are converted to string as X{1,2}-.*. All FontUnitTests pass now. * Unit.cs: throw a format exception when there's not number or minus sign in the first non-whitespace character. 2005-09-27 Gonzalo Paniagua Javier * ListControl.cs: SelectedIndex/SelectedValue can be set before DataBinding () is called on the control, so we have to keep this values around and use them after the data is read. If both properties are used, they must refer to the same item. 2005-09-24 Gonzalo Paniagua Javier * DataList.cs: fill in the data keys from BaseDataList so that the events can see them. Only assign DataItem when using data binding and nullify it after all events are raised. 2005-09-24 Gonzalo Paniagua Javier * DataList.cs: OnItemCommand() is raised any time OnBubbleEvent is called. 2005-09-23 Sebastien Pouliot * Button.cs: For 2.0 don't add the "name" attribute unless there's an id. * DataGrid.cs: Fix TagKey (table) for 2.0. * DataList.cs: Revert 2.0 specific stuff that was changed in RC. * DropDownList.cs: For 2.0 don't add the "name" attribute unless there's an id. * ListBox.cs: For 2.0 don't add the "name" attribute unless there's an id. * RoleGroupCollection.cs: Fix "extra" exception in Remove method. * Style.cs: Fixed (2.0) RegisteredCssClass to returns String.Empty (i.e. not null). * TextBox.cs: For 2.0 don't add the "name" attribute unless there's an id. * TreeView.cs: Added declarative security (Link and Inheritance demands) for Minimal. * XmlDataSource.cs: Added declarative security (Link and Inheritance demands) for Minimal. 2005-09-23 Sebastien Pouliot * FontUnit.cs: Added, but only for 1.x, declarative security (Link and Inheritance demands) for Minimal. * Label.cs: Added declarative security (Link and Inheritance demands) for Minimal. * ListItem.cs: Added declarative security (LinkDemands) for Minimal. * ListItemCollection.cs: Added declarative security (LinkDemands) for Minimal. * MonthChangedEventArgs.cs: Added declarative security (Link and, for 2.0, Inheritance demands) for Minimal. * PagedDataSource.cs: Added declarative security (LinkDemands) for Minimal. * Panel.cs: Added declarative security (Link and Inheritance demands) for Minimal. * Repeater.cs: Added declarative security (Link and Inheritance demands) for Minimal. * RepeatInfo.cs: Added declarative security (LinkDemands) for Minimal. * SelectedDatesCollection.cs: Added declarative security (LinkDemands) for Minimal. * TargetConverter.cs: Added declarative security (Link and Inheritance demands) for Minimal. * Unit.cs: Added, but only for 1.x, declarative security (Link and Inheritance demands) for Minimal. * ValidatedControlConverter.cs: Added declarative security (Link and Inheritance demands) for Minimal. * WebColorConverter.cs: Added declarative security (Link and Inheritance demands) for Minimal. * Xml.cs: Added declarative security (Link and Inheritance demands) for Minimal. * ValidationSummary.cs: Added declarative security (Link and Inheritance demands) for Minimal. 2005-09-23 Sebastien Pouliot * UnitConverter.cs: Remove conversion from Unit (see unit tests). 2005-09-22 Ben Maurer * BulletedList.cs: Remove the cacheEnabled thing. I was thinking it took O(height) time, not O(1). 2005-09-21 Sebastien Pouliot * CheckBoxList.cs: Fix unit test failure (which matched bug #48802). 2005-09-21 Sebastien Pouliot * AdCreatedEventArgs.cs: Added declarative security (Link and, for 2.0, Inheritance demands) for Minimal. * BaseCompareValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. * BaseDataBoundControl.cs: Added declarative security (Link and Inheritance demands) for Minimal. * BaseValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. * BoundColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. * ButtonColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. * CalendarDay.cs: Added declarative security (Link and Inheritance demands) for Minimal. * CheckBoxList.cs: Added declarative security (Link and Inheritance demands) for Minimal. * CompareValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. * CustomValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. * DataBoundControl.cs: Added declarative security (Link and Inheritance demands) for Minimal. * DataGridItemCollection.cs: Added declarative security (Link and Inheritance demands) for Minimal. * DataKeyCollection.cs: Added declarative security (LinkDemands) for Minimal. * DataListItemCollection.cs: Added declarative security (LinkDemands) for Minimal. * DataListItem.cs: Added declarative security (Link and Inheritance demands) for Minimal. * FontNamesConverter.cs: Added declarative security (Link and Inheritance demands) for Minimal. * HyperLink.cs: Added declarative security (Link and Inheritance demands) for Minimal. * HyperLinkColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. * Image.cs: Added declarative security (Link and Inheritance demands) for Minimal. 2005-09-20 Gonzalo Paniagua Javier * BaseDataList.cs: it's the DataKeysArray what is stored in "DataKeys", not the DataKeys. * DataGrid.cs: add the keys to BaseDataList.DataKeysArray. When using a data source, first try reflection, then componentmodel. If we get an enumerator, keep it around, as MS only calls GetEnumerator once. Throw an exception if no columns can be created from the given data source. Tested with DbDataRecord, DataTable, ArrayList and ICustomTypeDescriptor. 2005-09-20 Sebastien Pouliot * AccessDataSource.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [ToolboxBitmap] on class. * AdRotator.cs: Added declarative security (Link and Inheritance demands) for Minimal. Removed extra Page and ViewState properties. * BulletedList.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * Button.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * Calendar.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * CheckBox.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * CompositeControl.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added new protected RecreateChildControls method. * DataControlCommands.cs: Added declarative security (LinkDemands) for Minimal. Added private ctor. * DataGrid.cs: Added declarative security (Link and Inheritance demands) for Minimal. Fixed properties for 2.0 (mostly removing [Bindable]). Added override for TagKey property. * DataGridColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [UrlProperty] on HeaderImageUrl (2.0). * DataGridItem.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added IDataItemContainer interface for 2.0. * DataGridPagerStyle.cs: Added declarative security (LinkDemands) for Minimal. Remove [Bindable] from 2.0 and add [Localizable]. * DataList.cs: Removed [Load|Save]ControlState methods. * DropDownList.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * EditCommandColumn.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added missing attributes, [DefaultValue] and [Localize] for 2.0. * FontInfo.cs: Added declarative security (Link and Inheritance demands) for Minimal. Remove [Bindable] and added [RefreshProperties] for 2.0. * Login.cs: Added declarative security (Link and Inheritance demands) for Minimal. Fixed IsStyleEmpty. Removed extra [Themeable] attributes. * ImageButton.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * LinkButton.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * ListBox.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * Literal.cs: Added declarative security (Link and Inheritance demands) for Minimal. Removed [EditorBrowsable] on CreateControlCollection method. * LoginStatus.cs: Added missing [Themeable] attributes on properties. * MenuItemStyle.cs: Changed IsEmpty to public (required to compile - but will be shown as extra). * RadioButton.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * RadioButtonList.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * RangeValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added missing [Themeable] attributes. * RegularExpressionValidator.cs: Added declarative security (Link and Inheritance demands) for Minimal. Remove [Bindable] from 2.0 and add [Localizable]. * RoleGroupCollection.cs: Added declarative security (Link and Inheritance demands) for Minimal. Fixed base class (changed in RC). Re-implemented CopyTo. Removed some methods. * Style.cs: Added declarative security (Link and Inheritance demands) for Minimal. Remove static IsStyleEmpty and ToString (from 2.0). IsEmpty is now public in 2.0. * Table.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * TableCell.cs: Fixed PersistenceMode for 2.0. * TextBox.cs: Added declarative security (Link and Inheritance demands) for Minimal. Added [SupportsEventValidation] on class (2.0). * TreeNodeStyle.cs: Changed IsEmpty to public (required to compile - but will be shown as extra). * WebControl.cs: Added declarative security (Link and Inheritance demands) for Minimal. Removed [EditorBrowsable] on ControlStyleCreated property. 2005-09-19 Gonzalo Paniagua Javier * TableStyle.cs: fixed typo that prevented restoring GridLines from a saved viewstate. * DataGrid.cs: the table does not get an auto ID. When restoring from viewstate, use all the saved columns, not just that data bound ones. Set the owner of the BoundColumns created. Save/restore columns. OnItemCreated happens after the item is initialized and the data item is set before the event and nullified after OnItemDataBound. Add the render_table to the Controls immediately, otherwise we might get errors from child controls such as "must be rendered inside a form". Keep the items created in the list waiting for them. The table uses the attributes from the DataGrid and ControlStyle. Raise OnItemCommand on all bubble events and don't propagate bubble event up in the hierarchy * TableCell.cs: it does not get an automatic ID. * BoundColumn.cs: FormatDataValue returns an empty string on null input (there was already a test for this). Fixes bug #76117. 2005-09-17 Gonzalo Paniagua Javier * DataGridColumnCollection.cs: track the view state in the newly added items. 2005-09-15 Gonzalo Paniagua Javier * DataGrid.cs: merge column styles too. Fixes bug #76106. * DataGridColumn.cs: new internal method to retrieve the styles without creating an instance for them. 2005-09-15 Sebastien Pouliot * DataControlField.cs, HotSpot.cs, MenuItem.cs, Parameter.cs, Style.cs, TreeNode.cs: Replace _empty_ StateBag.SetDirty () with StateBag.SetDirty (true). 2005-09-14 Sebastien Pouliot * Menu.cs: Fixed parameter orders for CreateStyleRule. 2005-09-13 Chris Toshok * Style.cs: corcompare stuff. * RequiredFieldValidator.cs: more corcompare stuff. * CheckBoxList.cs: clean up some of the interface methods vs protected virtual 2.0 calls. * SubMenuStyle.cs: corcompare says this should implement ICustomTypeDescriptor... sooo, make it. 2005-09-13 Gonzalo Paniagua Javier * TableCell.cs: do the same as HyperLink and others in AddParsedSubobject so that adding a literal control does not remove the existing controls if any. Fixes bug #76078. 2005-09-09 Gonzalo Paniagua Javier * GridView.cs: don't duplicate class attribute. Fixes bug #75936. 2005-09-09 Gonzalo Paniagua Javier * ImageButton.cs: fix invalid cast exception. 2005-09-09 Gonzalo Paniagua Javier * ListItem.cs: throw in AddParsedSubObject if the object is not a LiteralControl. * RadioButtonList.cs: implemented LoadPostData and RaisePostDataChangedEvent. 2005-09-09 Chris Toshok * CheckBox.cs, CheckBoxList.cs, DropDownList.cs, ImageButton.cs, ListBox.cs, RadioButton.cs, RadioButtonList.cs, TextBox.cs: fix up LoadPostData/RaisePostDataChangedEvent. 2005-09-09 Chris Toshok * FontInfo.cs (IsEmpty): new internal property, used by Style.IsEmpty. * Style.cs (IsEmpty): make sure the fontinfo is null or empty as well. 2005-09-08 Gonzalo Paniagua Javier * ListItemCollection.cs: remove obsoleted methods. * ListBox.cs: use IStateManager on the item collection. 2005-09-08 Eyal Alaluf * Use C# 1.0 style of delegate instantiating. Needed to compile Grasshopper (TARGET_J2EE) which uses MS C# 1.0 compiler and not msc. 2005-09-07 Chris Toshok * Calendar.cs (WriteDay): always add BackColor=Silver, ForeColor=White to selected day cells, before copying over the selectedDayStyle, if it exists. (WriteDays): fix nunit test - if the first day of the month falls on the first day of the week, go back one week (effectively adding a row of dates from the previous month.) (WriteTitle): don't copy the control style to the tableTitle, since it might have height specifications, which would make the title look rather off. 2005-09-07 Chris Toshok * ValidationSummary.cs (AddAttributesToRender): we only set display=none if there are no errors. * BaseValidator.cs (OnPreRender): fix a JS error - on submit we call ValidatorOnSubmit, not ValidatorCommonOnSubmit. 2005-09-07 Chris Toshok * ListControl.cs (SelectedIndex): add comment about how you'd think OnSelectedIndexChanged would be called.. and you'd be wrong. (Text): implement in terms of SelectedValue. (TagKey): do the HAVE_CONTROL_ADAPTERS two-step. (LoadControlState): implement - this is where the selected index ArrayList gets stuffed in 2.0. (OnInit): call Page.RegisterRequiresControlState. (OnTextChanged): implement. (RenderContents): for now just chain up to base.RenderContents. (SaveControlState): save our control state properly. (GetSelectedIndices): split this out from SaveViewState to it can be used by both that and SaveControlState. (SaveViewState): mangle this function so it works in both 2.0 and 1.0. (LoadViewState): same. 2005-09-06 Chris Toshok * BaseValidator.cs (AddAttributesToRender): render our ClientID if we weren't assigned an ID. * ValidationSummary.cs (AddAttributesToRender): same. 2005-09-06 Chris Toshok * WebControl.cs: revert the last change. 2005-09-06 Chris Toshok * WebControl.cs (AddAttributesToRender): always render ClientID. * ValidationSummary.cs (Render): same. * BaseValidator.cs (RegisterValidatorDeclaration): use ClientID here. 2005-09-06 Chris Toshok * ValidationSummary.cs (Render): only do the JS stuff when the validators on the page are uplevel. * BaseValidator.cs (Render): remove unnecessary comment. 2005-09-05 Chris Toshok * BaseDataBoundControl.cs (DataSourceID): testing reveals this is stored in the ViewState. 2005-09-02 Chris Toshok * Repeater.cs (GetData): change this slightly so the Repeater doesn't keep a ref to the return value of GetData. 2005-09-01 Chris Toshok * ListControl.cs (AppendDataBoundItems): implement (2.0) (TagKey): same. 2005-09-01 Chris Toshok * System.Web.UI.WebControls/MonthChangedEventArgs.cs, System.Web.UI.WebControls/ValidatedControlConverter.cs, System.Web.UI.WebControls/Xml.cs, System.Web.UI.WebControls/RegularExpressionValidator.cs, System.Web.UI.WebControls/ServerValidateEventArgs.cs, System.Web.UI.WebControls/Menu.cs, System.Web.UI.WebControls/MailMessageEventArgs.cs, System.Web.UI.WebControls/MenuItemStyle.cs, System.Web.UI.WebControls/RangeValidator.cs, System.Web.UI.WebControls/RepeaterItemEventArgs.cs, System.Web.UI.WebControls/MenuItem.cs, System.Web.UI.WebControls/RepeaterCommandEventArgs.cs, System.Web.UI.WebControls/DataGridSortCommandEventArgs.cs, System.Web.UI.WebControls/DataGridCommandEventArgs.cs, System.Web.UI.WebControls/DataGridPageChangedEventArgs.cs, System.Web.UI.WebControls/XmlBuilder.cs, System.Web.UI.WebControls/ImageButton.cs: someone stop me. more corcompare work. 2005-09-01 Chris Toshok * System.Web.UI.WebControls/Button.cs, System.Web.UI.WebControls/ButtonField.cs, System.Web.UI.WebControls/DataControlField.cs, System.Web.UI.WebControls/BaseCompareValidator.cs, System.Web.UI.WebControls/AutoGeneratedField.cs, System.Web.UI.WebControls/CustomValidator.cs, System.Web.UI.WebControls/Content.cs, System.Web.UI.WebControls/BoundField.cs, System.Web.UI.WebControls/AdRotator.cs, System.Web.UI.WebControls/ButtonColumn.cs, System.Web.UI.WebControls/CompareValidator.cs, System.Web.UI.WebControls/AdCreatedEventArgs.cs: More corcompare work. Stub things out, and add attributes. 2005-09-01 Chris Toshok * Button.cs, ButtonField.cs, FontInfo.cs, Style.cs, Xml.cs, CommandField.cs, HyperLinkColumn.cs, Table.cs, RegularExpressionValidator.cs, DataGridPagerStyle.cs, Label.cs, CheckBox.cs, RadioButton.cs, TableStyle.cs, ListControl.cs, Image.cs, BaseCompareValidator.cs, BaseDataList.cs, DataList.cs, TemplateColumn.cs, RangeValidator.cs, ImageField.cs, BaseValidator.cs, CustomValidator.cs, TextBox.cs, ButtonFieldBase.cs, BoundField.cs, CheckBoxList.cs, RadioButtonList.cs, RequiredFieldValidator.cs, AdRotator.cs, Repeater.cs, DropDownList.cs, CheckBoxField.cs, HyperLink.cs, XmlDataSource.cs, Panel.cs, DataGrid.cs, ButtonColumn.cs, CompareValidator.cs, Calendar.cs, ListBox.cs, TableCell.cs, WebControl.cs, Literal.cs, ValidationSummary.cs, ImageButton.cs, TableRow.cs, LinkButton.cs, DataGridColumn.cs, BoundColumn.cs, TableItemStyle.cs: Add some WebCategory and WebSysDescription attributes. 2005-09-01 Chris Toshok * AccessDataSource.cs: corcompare work. * SqlDataSource.cs: same. 2005-09-01 Miguel de Icaza * Various places: make sure that the DefaultValue matches the type. Thanks to Michael for pointing this out. In future audits, you might want to use the following awk command: awk '/DefaultValue/ { v=$0; looking = 1; } /public/ && looking && !/string/ && !/ int / && !/ bool / { print FILENAME; print v; print $0; looking = 0; } /public/ && looking { looking = 0; } ' *.cs The above skips bools, strings and ints as those were fine as we set them. The bug was on the other ones. 2005-08-31 Gonzalo Paniagua Javier * Repeater.cs: fix the build. 2005-08-31 Chris Toshok * Repeater.cs: lots of 2.0 work, much of it c&p'ed from {Base}DataList, and also from debug spew garnered from some Repeater subclass tests on MS. (CreateControlHierarchy): in 2.0 if IsBonudUsingDataSourceID get the IEnumerable by calling GetData(). (DataBind): reset RequiresDataBinding to false (2.0). (DataMember): copy the set implementation from DataList, and add 2.0 code to call OnDataPropertyChanged if we're !Initialiezd. (DataSource): more c&p. (DataSourceID); implement (2.0) (Initialized): implement (2.0) (IsBoundUsingDataSource): implement (2.0) (RequiresDataBinding): implement (2.0) (SelectArguments): implement (2.0) (CreateDataSourceSelectArguments): implement (2.0) (EnsureDataBound): implement (2.0) (GetData): implement. (OnDataPropertyChanged): remove the NIE, but leave the MonoTODO (2.0) (OnDataSourceViewChanged): set RequiresDataBinding to true, but leave the MonoTODO. (2.0) (OnInit): call base.OnInit instead of throwing NIE, but leave the MonoTODO (2.0) (OnLoad): implement. (OnPreRender): implement. (ConnectToDataSource): new method - look for the right control. 2005-08-31 Chris Toshok * XmlDataSourceView.cs: fix the scope of our select. Don't use call SelectNodes on the XmlDocument, not on XmlDocument.DocumentElement. 2005-08-31 Chris Toshok * XmlDataSourceView.cs (.ctor): remove the nodelist parameter. (DoXPathSelect): put the xpath selection stuff here. (ExecuteSelect): call DoXPathSelect if we need to (if nodes == null). * XmlDataSource.cs (IDataSource.GetView): don't do the XPath select here, the view does it. 2005-08-31 Jackson Harper * DataList.cs: Remove some debugging code that was starting to bug me (tee hee). 2005-08-31 Chris Toshok * XmlDataSourceNodeDescriptor.cs: implement IXPathNavigable, and create our Navigator by calling node.CreateNavigator(). 2005-08-31 Chris Toshok * XmlDataSource.cs (GetXmlDataDocument): rename this to GetXmlDocument, and change the return value from XmlDataDocument to XmlDocument. (LoadXmlDataDocument): similar change. (Save): xmlDataDocument -> xmlDocument. (CanBeSaved): there's no ReadOnly attribute. (LoadViewState, SaveViewState, TrackViewState): nuke. (GetHierarchicalView): xmlDataDocument -> xmlDocument. (CacheDuration): stub out with NIE. (CacheExpirationPolocy): same. (CacheKeyDependency): same. (EnableCaching): same. (ReadOnly): nuke. (Data, DataFile): xmlDataDocument -> xmlDocument. (Schema, SchemaFile): nuke. (Transform, TransformFile): xmlDataDocument -> xmlDocument. 2005-08-30 Lluis Sanchez Gual * SubMenuStyle.cs, MenuItemStyle.cs, TreeNodeStyle.cs: Don't use the obsolete IsSet method. * Menu.cs: Implement IPostBackEventHandler.RaisePostBackEvent. * CheckBox.cs: Implement some 2.0 methods. * GridView.cs: Removed some "throw new NotImplementedException" 2005-08-29 Chris Toshok * TreeView.cs: Use the StateBag accessors Ben added, and implement SkipLinkText and Visible. 2005-08-29 Chris Toshok * TreeView.cs: fix typo in an attribute. 2005-08-29 Jackson Harper * PagedDataSource.cs: If it's not a list or collection we don't use a bounded enumerator. 2005-08-29 Chris Toshok * LinkButton.cs: fix some 2.0 Page/ClientScript obsolete warnings. * CheckBox.cs: same. * BaseValidator.cs: same. * DropDownList.cs: same. * ValidationSummary.cs: same. 2005-08-28 Chris Toshok * XmlHierarchyData.cs: fix IHierarchyData.GetParent. 2005-08-26 Chris Toshok * TextBox.cs: implement ValidationGroup and CausesValidation properties. 2005-08-26 Lluis Sanchez Gual * Style.cs: Implemented FillStyleAttributes, GetStyleAttributes and SetDirty. 2005-08-26 Chris Toshok * Unit.cs: implement the 2.0 ToString(IFormatProvider) method. * FontUnit.cs: add two 2.0 ctors, and the 2.0 ToString(IFormatProvider) method. 2005-08-26 Sebastien Pouliot * CheckListBox.cs: Nothing is rendered (i.e. no empty table) in 2.0 if no items are present in the list. * RoleGroup.cs: Added missing attributes. * RoleGroupCollection.cs: Added missing attributes and some (yet-to-be- documented) methods. * TableStyle.cs: *for 2.0* adding a "url({0})" to background image must be done in the HtmlTextWriter (not in the TableStyle). 2005-08-26 Chris Toshok * Calendar.cs (UseAccessibleHeader): implement. (RaisePostBackEvent): some #ifdef ugliness to get this all working propertly between 1.x and 2.0 (WriteDayHeader): if UseAccessibleHeader == true, render header cells as th's, not td's, and add abbr and scope attributes. 2005-08-25 Chris Toshok * Calendar.cs (Caption, CaptionAlign): implement these properties. (Render): if we have a non-empty caption, show it. (WriteCaption): new method, output the caption. 2005-08-25 Chris Toshok * Calendar.cs (Render): Copy the entire style from the Calendar to the Table, not just the font. (WriteDay): don't just write the link/text/etc. Create a LiteralControl as a child of the cell, before the call to OnDayRender, with its text set to the day number. After OnDayRender, set the literal's text to either the number again (if it's not selectable) or the full text of the js __doPostBack hyperlink (if it is.) Also, use cell.RenderControl here so we can render child controls with the id's listed properly (and arguably incorrectly). (ApplyTitleStyleCell): remove. (WriteTitle): apply the titleStyle to the enclosing table, not the table cell containing the month name. Also, copy from the Calendar's ControlStyle to populate tableTitle's style initially. We end up with more (superfluous) style attributes than MS, but it's better than having less. 2005-08-25 Sebastien Pouliot * HyperLink.cs: Fixed 2.0 rendering for Alt and Border|BorderWidth when an image is used. 2005-08-25 Peter Dennis Bartok * Style.cs: Implemented 2.0 CopyTextStylesFrom(), SetRegisteredCssClass() and RegisteredCssClass property 2005-08-25 Sebastien Pouliot * LoginView.cs: Fixed attributes. * Style.cs: Change SetRegisteredCssClass to internal and not to throw an exception to allow pages to work on 2.x. 2005-08-25 Chris Toshok * LinkButton.cs (PostBackUrl): correct the UrlProperty attribute. * Unit.cs: add [Serializable] and the 2.0 specific ToString(), not yet implemented. * HiddenField.cs: stub out this class and label everything MonoTODO. 2005-08-25 Jackson Harper * DataGrid.cs: Disable the pager row if there no paging enabled or available. 2005-08-25 Chris Toshok * SqlDataSourceFilteringEventArgs.cs: add some usings, and fix a typo. * SqlDataSourceSelectingEventArgs.cs: IDbCommand -> DbCommand, and add a using statement. 2005-08-25 Chris Toshok * SqlDataSourceFilteringEventArgs.cs: new 2.0 class, as per corcompare. * SqlDataSourceFilteringEventHandler.cs: new 2.0 delegate, as per corcompare. 2005-08-25 Sebastien Pouliot * Login.cs: Added rendering and fixed parts of the authentication. Now using IStateManager to allow compilation in another assembly (e.g. to test the control under IIS). Needs more tests (error conditions) once we get a "real" Membership provider running. * Style.cs: Fixed IsStyleEmpty (name ;-) and when null is provided (returns true). 2005-08-25 Chris Toshok * SqlDataSourceCommandType.cs: new 2.0 enum, as per corcompare. 2005-08-25 Chris Toshok * AdRotator.cs: stub out enough of the 2.0 methods/properties by calling base.Foo to get the standalone adrotator (1.0) tests to run without throwing exceptions. 2005-08-25 Chris Toshok * ValidationSummary.cs (ValidationGroup): implement. (Render): use Page.GetValidators in .net 2.0, so we can support ValidationGroups. Also,
's get rendered as
in .net 2.0. 2005-08-25 Chris Toshok * ImageButton.cs (TagKey): disable (but flag) the "virtual new" 2.0 attribute modifiers, and revert back to "override". * ListBox.cs (BorderColor): disable (but flag) the "virtual new" 2.0 attribute modifiers, and revert back to "override". (BorderStyle): same. (BorderWidth): same. * TextBox.cs (SaveViewState): implement naively, calling base.SaveViewState. (TagKey): disable (but flag) the "virtual new" 2.0 attribute modifiers, and revert back to "override". 2005-08-25 Peter Dennis Bartok * Style.cs, TableStyle.cs, TableItemStyle.cs, DataGridPagerStyle.cs: Load ViewState for derived classes; no public LoadViewState override exists in those classes * Style.cs: Added 2.0 IsStyleEmpty method 2005-08-25 Jackson Harper * DataGrid.cs: The number of pages set in the pager is specified by PageButtonCount. 2005-08-25 Sebastien Pouliot * LoginView.cs: New (2.0). Work in progress. 2005-08-24 Chris Toshok * Button.cs, DetailsView.cs, FontInfo.cs, Style.cs, Xml.cs, Menu.cs, ObjectDataSource.cs, CheckBox.cs, RadioButton.cs, ListControl.cs, SiteMapPath.cs, BulletedList.cs, DataBoundControl.cs, ListItemCollection.cs, GridView.cs, Wizard.cs, TextBox.cs, CheckBoxList.cs, RadioButtonList.cs, PagedDataSource.cs, FormView.cs, AdRotator.cs, Repeater.cs, DropDownList.cs, MultiView.cs, HierarchicalDataBoundControl.cs, Calendar.cs, ListBox.cs, WebControl.cs, Literal.cs, ValidationSummary.cs, ImageButton.cs, LinkButton.cs, TreeView.cs: Add MonoTODO's for all things that throw NotImplementException. 2005-08-24 Sebastien Pouliot * RoleGroup.cs: New (2.0). Complete implementation. * RoleGroupCollection.cs: New (2.0). Mostly complete implementation. 2005-08-23 Chris Toshok * BaseCompareValidator.cs (GetFullYear): it turns out the docs up on msdn.microsoft.com tell exactly how the .net 2.0 stuff works, even though they were written for the 1.0 stuff. 2005-08-23 Chris Toshok * RepeatInfo.cs: some massaging to support both the 1.x and 2.0 output. Our tests now pass on both mono and ms, with both 1.x and 2.0 profiles. 2005-08-23 Sebastien Pouliot * Login.cs: Throw exception if the specified provider doesn't exists. * LoginStatus.cs: Complete events. 2005-08-22 Jackson Harper * DataGrid.cs (CreateControlHierarchy): Clear out the old pager after creating the controls. (InitializeNumericPager): Now that the pager actually renders properly I can see that I was computing it incorrectly. 2005-08-22 Jackson Harper * DataGrid.cs (RenderTable): Make sure the new table gets the correct style. (CreateColumnSet): Clear the data source columnbs before adding new ones regardless of whether or not a property descriptor was found. (InitializePager): pager_cell needs to be a member so it isn't created more then once per a render. (InitializeNumericPager): Compute start and end more correctly. - Link commands are 1 indexed. (CreateControlHierarchy): Clear the table before we begin rendering. - Revert patch that made adding the pagers conditional. This is incorrect, the pagers are always added. Only their visibility is affected by the pager style. - Save the entire count in the viewstate, not just the rendered count. So when paging is enabled the pager's count isn't broken by postback. 2005-08-22 Chris Toshok * LinkButton.cs (ValidationGroup): implement. (IPostBackEventHandler.RaisePostBackEvent): in the 2.0 profile, pass ValidationGroup to Page.Validate. 2005-08-22 Chris Toshok * ImageButton.cs (ValidationGroup): implement. (IPostBackEventHandler.RaisePostBackEvent): if we cause validation, call Page.Validate properly (in both profiles). 2005-08-22 Chris Toshok * Button.cs (IPostBackEventHandler.RaisePostBackEvent): in the 2.0 case, pass ValidationGroup to Page.Validate. (ValidationGroup): implement using ViewState. 2005-08-22 Chris Toshok * BaseValidator.cs (Text): 2.0 only. implement naively, just get/set base.Text. (OnInit): add 2.0 support for validation groups. (OnUnload): same. 2005-08-22 Sebastien Pouliot * LoginName.cs: New (2.0) web control. * LoginStatus.cs: New (2.0) web control. 2005-08-19 Chris Toshok * LinkButton.cs (ValidationGroup): implement getter/setter. (RaisePostBackEvent): implement naively, by c&p'ing the old implementation of IPostBackEventHandler.RaisePostBackEvent, but making use of the ValidationGroup in the call to Page.Validate. * Button.cs: same. * Style.cs (LoadViewState): set our style flags for all the things we have flags for. Seems like the subclass flags should be handled in overridden LoadViewState methods, but none of the Style subclasses seem to override this method. 2005-08-19 Chris Toshok * TableStyle.cs (Merge, MergeWith): make these look a bit more like Copy/CopyFrom, with the styles checks instead of just ViewState checks. * TableItemStyle.cs: same, only also make Copy/CopyFrom work as in TableStyle.cs. 2005-08-19 Chris Toshok * DataGrid.cs (InitializePager): don't unconditionally set pager_cell to the numeric pager (especially after setting it conditionally to the nextprev pager.) (InitializeNumericPager): the link buttons don't participate in validation. (InitializeNextPrevPager): same. (CreateControlHierarchy): create the top/bottom pagers only if the PagerStyle says too. 2005-08-19 Sebastien Pouliot * TableCell.cs: Added AssociatedHeaderCellID property for 2.0. 2005-08-18 Chris Toshok * DataList.cs (CreateControlHierarchy): Call Controls.Clear() at the start of this method so templates are created properly. 2005-08-18 Dick Porter * Button.cs, DetailsView.cs, Xml.cs, Table.cs, Menu.cs, DataControlButton.cs, Label.cs, ObjectDataSource.cs, CheckBox.cs, RadioButton.cs, ListControl.cs, Image.cs, SiteMapPath.cs, BaseDataList.cs, DataList.cs, BulletedList.cs, DataBoundControl.cs, Login.cs, GridView.cs, CompositeDataBoundControl.cs, Wizard.cs, BaseValidator.cs, TextBox.cs, CheckBoxList.cs, RadioButtonList.cs, FormView.cs, AdRotator.cs, Repeater.cs, MenuItemTemplateContainer.cs, DropDownList.cs, HyperLink.cs, ImageMap.cs, MultiView.cs, CompositeControl.cs, HierarchicalDataBoundControl.cs, Calendar.cs, ListBox.cs, TableCell.cs, WebControl.cs, Literal.cs, BaseDataBoundControl.cs, ValidationSummary.cs, ImageButton.cs, LinkButton.cs, TreeView.cs: 2.0 API fixes and stubs, and attribute fixes 2005-08-18 Sebastien Pouliot * BaseDataList.cs: Added a TODO for DataKeyField as we're not using it anywhere... * DataList.cs: Reworked CreateControlHierarchy to avoid allocating an empty array of objects just to get the number of items. * Login.cs: Implemented OnBubbleEvent and parts of the authentication but we're missing some bits from the class lib to complete all this... 2005-08-17 Jackson Harper * DataGrid.cs: Only create one pager and add it to both the top and bottom of the grid, this way all the id numbers stay the same and we save a bunch of cycles. 2005-08-17 Jackson Harper * DataGrid.cs: The top and bottom pagers are always created. Just the visibility is changed by the PagerStyle::Position. 2005-08-17 Chris Toshok * CompositeControl.cs (RecreateChildControls): implement naively - just call CreateChildControls. We might need to call Controls.Clear() as well, but for the time being, this is ok. 2005-08-17 Sebastien Pouliot * BaseDataList.cs: Completed implementation for 2.0. 2005-08-16 Sebastien Pouliot * BaseDataList.cs: Added missing properties/methods/attributes for 2.0. * DataList.cs: Added missing [Browseable] attribute on SelectedValue. 2005-08-16 Sebastien Pouliot * BaseDataList.cs: Removed old internal ctor as DataList TagKey was fixed for 2.0. * DataList.cs: Implemented {Load|Save}ControlState and OnInit (2.0). Adjusted size and ordering of the ViewState (new element #0 is still unknown). Properly fixed the TagKey in 2.0. * Login.cs: Implemented {Load|Save|Track}ViewState. Added checks for all properties using enums. * Panel.cs: Fixed NoWrap rendering unit test (for 2.0). * TableItemStyle.cs: Fixed attribute rendering to use style to render "nowrap" in 2.0 (it used the HTML nowrap attribute in 1.x). 2005-08-15 Jackson Harper * EditCommandColumn.cs: Use a normal LinkButton. 2005-08-15 Sebastien Pouliot * Image.cs: Don't remove GenerateEmptyAlternateText (2.0) from the viewstate (even if assigned to the default value). * TableRow.cs: Implement TableSection property (2.0). It has no effect on the rendering of the table row. 2005-08-15 Sebastien Pouliot * BaseDataList.cs: Added new [Themeable] and [Localizable] attributes and removed [Bindable] attributes for 2.0. * DataList.cs: Added new 2.0 attributes on class and removed [Bindable] attributes (for 2.0). * DataListCommandEventArgs.cs: Not sealed in 2.0. * DataListItemEventArgs.cs: Not sealed in 2.0. * Image.cs: Fixed [Designer] attribute on class and all [Editor] attributes for URLs. * Login.cs: Fixed [Designer] attribute on class and all [Editor] attributes for URLs. * Table.cs: Fixed [Editor] attribute for 2.0. * TableCellCollection.cs: Fixed [Editor] attribute for 2.0. * TableCell.cs: Fixed [Designer] attribute. Fixed property name for AssociatedHeaderCellID and it's [DefaultValue] attribute. * TableHeaderCell.cs: Fix [DefaultValue] attributes for CategoryText and Scope attributes. * TableRow.cs: Fixed [Designer] attribute. Added missing [DefaultValue] on TableSection attribute. * TableRowCollection.cs: Fixed [Editor] attribute for 2.0. 2005-08-14 Sebastien Pouliot * Image.cs: Fixed attributes for 2.0 profile. * Login.cs: Fixed some attributes and default values. * Table.cs: Fixed attributes for 2.0 profile. Added protected method RaisePostBackEvent (TODO) in 2.0 profile. * TableCell.cs: Fix properties (Bindable, Localizable, Designer...) and added AssociateHeaderCellID property (TODO). * TableCellCollection.cs: Fixed [Editor] attribute for 2.0. * TableFooterRow.cs: New (2.0). TableRow that always shows on each page (if the device requires to breaks the table into multiple pages). This seems to be a "flag" class, the real work will be in Table. * TableHeaderCell.cs: Added CategoryText and Scope properties for 2.0. * TableHeaderRow.cs: New (2.0). TableRow that always shows on each page (if the device requires to breaks the table into multiple pages). This seems to be a "flag" class, the real work will be in Table. * TableItemStyle.cs: Remove [Bindable (true)] from 2.0 profile. * TableRow.cs: Remove [Bindable (true)] from properties and add [Bindable (false)] and [Designer] on class. Added new TableSection property (TODO). * TableRowCollection.cs: Fixed [Editor] attribute for 2.0. * TableSectionStyle.cs: New (2.0). Add Visible to Style - but it's broken (int beta2) for IsEmpty, CopyFrom, MergeWith... * TableStyle.cs: Fixed attributes for 2.0 profile. Added new FillStyleAttributes method (2.0). 2005-08-13 Sebastien Pouliot * Login.cs: New (2.0). Mostly a stub with copy-n-pasted code and attributes from existing controls. * LoginCancelEventArgs.cs: New (2.0). Required to build Login. * LoginCancelEventHandler.cs: New (2.0). Required to build Login. 2005-08-12 Jackson Harper * TableRow.cs: No AutoID for TableRows. 2005-08-12 Jackson Harper * DataGrid.cs (CreateRenderColumns): If we aren't using data binding grab the rendercols from the data source columns. (LoadViewState): Restore the bound columns when reloading the viewstate. (InitializeNumericPager): Create elipsised pagers. (CreateItem): Don't set the item's ID. (CreateItem): Add the control to the table before it is databound so that it's value is saved in the viewstate. (CreateControlHierarchy): Create a fake data source when not using databinding. Don't add controls to the table as they are added in CreateItem now. (PrepareControlHierarchy): Make footers and header non visible if they aren't enabled. 2005-08-12 Chris Toshok * CompositeControl.cs (DataBind, Render, get_Controls): the MSDN docs says these methods/properties "ensure the child controls are created" -- so call EnsureChildControls() before invoking the base class's code. 2005-08-12 Jackson Harper * BoundColumn.cs: Set the controls text instead of adding a literal control. So it is saved in the controls viewstate. 2005-08-11 Jackson Harper * CheckBoxList.cs: Set the tabindex on the checkbox control and don't render it on the main table (Setting it to zero causes it to not be rendered). Also use the invariant culture on the id. 2005-08-11 Dick Porter * CheckBox.cs: Let ViewState manage removals; apply styles and "style" attributes in a surrounding . Fixes unit tests. 2005-08-10 Chris Toshok * Label.cs (LoadViewState): set the Text attribute from our ViewState (if it exists) to clear out any child controls. Fixes jsunit test label/label-child-control-postback.aspx. 2005-08-10 Jackson Harper * PagedDataSource.cs: Respect paging with all data source types. 2005-08-09 Sebastien Pouliot * BaseDataList.cs: Changed Controls property from "virtual new" (2.0 doc) to "override" (monop) to fix the Visible bug (see datalist-invisible.aspx). Fixed AddParsedSubObject not to accept any controls (required due to change to Controls). Implemented DataBind(bool) for 2.0. * DataListItem.cs: Fix the multiple table when extractRows is used. Removed extra span tags by rendering contents (not control). Added support for IDataItemContainer (2.0). 2005-08-08 Jackson Harper * DataGrid.cs: Apply the styles to each item type. 2005-08-08 Jackson Harper * PagedDataSource.cs: If paging is not enabled keep enumerating to the end of the list. 2005-08-08 Sebastien Pouliot * BaseDataList.cs: Remove old compatibility stuff. * DataList.cs: Fix the edit|update for datalist-style-edit.aspx. * WebControl.cs: Always call CreateControlStyle to create the ControlStyle. Fix the exception for datalist-style-edit.aspx. 2005-08-05 Jackson Harper * DataGrid.cs: Don't make the current page index a link in the pager. 2005-08-05 Jackson Harper * DataGrid.cs: Honour PagerPosition. 2005-08-05 Jackson Harper * PagedDataSource.cs: Round PageCount properly. 2005-08-05 Dick Porter * CheckBox.cs: Shut corcompare up a bit more. Still need to figure out how to not use AddAttributesToRender to get it completely silent. * ButtonColumn.cs: Implement Initialize() and InitializeCell() * DataGridColumn.cs: Added the duplicate viewstate manipulation methods 2005-08-05 Chris Toshok * HyperLinkColumn.cs (FormatDataNavigateUrlValue): treat "" as null when it comes to the format string. (FormatDataTextValue): same. 2005-08-04 Chris Toshok * BaseValidator.cs (Validate): only test a validator if it's both enabled and visible. 2005-08-04 Chris Toshok * BaseValidator.cs (AddAttributesToRender): add "enabled" if !Enabled. 2005-08-04 Jackson Harper * DataGrid.cs: Add a new space control for each link. Also make the link's text 1 indexed. Don't add the space after the last item. 2005-08-04 Ben Maurer * LinkButton.cs: Fix up the test suite here. * Panel.cs: Fix up nowrap 2005-08-04 Peter Dennis Bartok * ListBox.cs: Use WriteXXXX to render HTML, this way it matches MS output * ListControl.cs: Clear item list before adding data (again) 2005-08-04 Jordi Mas i Hernandez * Calendar.cs: fixes issues with OnDayRender event and others 2005-08-04 Peter Dennis Bartok * DataGrid.cs(CreateControlHierarchy): Consider the EditItemIndex when creating rows * ListControl.cs(OnDataBinding): Only apply DataTextFormatString to text if DataTextField is bound * EditCommandColumn.cs(InitializeCell): MS inserts a   between the two controls in edit mode, lets do the same 2005-08-03 Jackson Harper * BoundColumn.cs: Respek for the thisExpr when data binding. 2005-08-03 Peter Dennis Bartok * EditCommandColumn.cs: No need to offer edit when in edit mode. Flipped output 2005-08-04 Dick Porter * DataGridColumn.cs: New implementation * DataGrid.cs: * DataGridColumnCollection.cs: Set the DataGridColumn's owner 2005-08-03 Peter Dennis Bartok * WebControl.cs(CopyBaseAttributes): Use Enabled setter to also set tracking var 2005-08-03 Ben Maurer * RepeatInfo.cs: Finally figured out how to use base control 2005-08-03 Jackson Harper * ButtonColumn.cs: Partial implementation. 2005-08-03 Peter Dennis Bartok * DataGridPagerStyle.cs(PageButtonCount): Throw exception on negative value 2005-08-03 Jordi Mas i Hernandez * Calendar.cs: fixes Save/Load state 2005-08-03 Jordi Mas i Hernandez * Calendar.cs: bug fixes 2005-08-03 Jackson Harper * DataGrid.cs: Merge the table style with the render table. Some initial work on the numeric pager. Remove some debugging code. 2005-08-03 Jackson Harper * BoundColumn.cs: Implement Initialize and InitializeCell. When Data is formated it uses the DataFormatString that was set at the time Initialize was called (or null if initialize was never called). 2005-08-02 Jordi Mas i Hernandez * RadioButtonList.cs: bug fixes 2005-08-02 Jordi Mas i Hernandez * CheckBox.cs, RadioButton.cs: mecanism to avoid exposing AddAttributesToRender * RadioButtonList.cs: Implementation 2005-08-01 Jackson Harper * TableStyle.cs: Copy style bit when copying from another style. 2005-08-01 Jackson Harper * PagedDataSource.cs: Implement missing properties, use yield for the Enumerator methods. Only allow the enums to return one page at a time. 2005-08-01 Chris Toshok * HyperLinkColumn.cs (ItemDataBinding): remove incorrect comment. 2005-08-01 Peter Dennis Bartok * WebControl.cs: Track enabled state across sessions 2005-08-01 Peter Dennis Bartok * ListControl.cs(OnDatabinding): Value is equivalent to text if by default 2005-08-01 Jordi Mas i Hernandez * ImageButton.cs: fixes, complete missing parts 2005-07-31 Ben Maurer * TextBox.cs: Html encode for multiline text boxes * HyperLink.cs: Resolve images 2005-07-30 Chris Toshok * BaseValidator.cs: initial version of 2.0 properties ValidationGroup and SetFocusOnError. 2005-07-30 Chris Toshok * HyperLinkColumn.cs (InitializeCell): clean this up. 2005-07-30 Chris Toshok * HyperLinkColumn.cs (FormatDataNavigateUrlValue): just use DataBinder.FormatResult. (FormatDataTextValue): same. (Initialize): call base.Initialize. (ItemDataBinding): new function, get the text/navigateurl and set them on our HyperLink control. (InitializeCell): create a hyperlink control in the Item/EditItem/AlternatingItem case. 2005-07-30 Ben Maurer * RepeatInfo.cs: Handle 0 items situations correctly * HyperLink.cs: Resolve urls correctly * CheckBox.cs: use the correct ID for the label element. * Label.cs: Correct AddParsedSubObject impl. See FAQ 2005-07-29 Chris Toshok * BaseCompareValidator.cs (GetDateElementOrder): implement. 2005-07-29 Chris Toshok * BaseCompareValidator.cs (GetFullYear): implement two ways. The #if'ed out version follows microsoft's docs on msdn, but doesn't match ms's behavior. The other matches their behavior but not their docs. we use the latter. go figure. (get_CutoffYear): implement using CultureInfo.CurrentCulture.Calendar.TwoDigitYearMax. 2005-07-27 Peter Dennis Bartok * FontInfo.cs: - Name property now throws exception when set to null - Names now handles situation where our bit tells us we have a font, but it's not in the StateBag (null removal) * RangeValidator.cs: Removed unused vars 2005-07-29 Ben Maurer * Label.cs: ClientID should be used rather than UniqueID to get the For attribute 2005-07-29 Chris Toshok * BaseValidator.cs (Validatate): not sure if this is entirely correct (some fairly deep testing required), but setting Enabled = false has the effect of setting IsValid = true. 2005-07-29 Ben Maurer * RadioButton.cs: The "remove from groupstate" isn't needed any more, now that statebag is correct. 2005-07-29 Dick Porter * RadioButton.cs: Hide nonstandard API; remove GroupName from the ViewState when it is null. * CheckBox.cs: Hide nonstandard API 2005-07-29 Jordi Mas i Hernandez * Calendar.cs: fixes exceptions, bug fixes, new features * SelectedDatesCollection.cs: Fixes bugs discovered by the tests * CalendarDay.cs: fixes default value 2005-07-28 Ben Maurer * CompositeControl.cs: Stub 2005-07-27 Peter Dennis Bartok * EditCommandColumn.cs: Implemented 2005-07-27 Chris Toshok * RegularExpressionValidator.cs (EvaluateIsValid): "" is valid. 2005-07-27 Peter Dennis Bartok * CustomValidator.cs: Bug fixes (Thanks to Chris for creating the client side code) 2005-07-27 Peter Dennis Bartok * DataGrid.cs: DataGridPagerStyle does not need DataGrid as argument for it's constructor, so remove it * DataGridPagerStyle.cs: Removed DataGrid argument from constructor 2005-07-27 Peter Dennis Bartok * DataGridPagerStyle.cs: Implemented * TableItemStyle.cs (MergeWith): Now only sets style bits it owns * Style.cs: Added Styles enum values for DataGridPagerStyle 2005-07-27 Jordi Mas i Hernandez * Calendar.cs: get the styles right, honors more properties, fixes, fix var names style 2005-07-26 Peter Dennis Bartok * DataGridItem.cs: Implemented 2005-07-26 Chris Toshok * LinkButton.cs (AddParsedSubObject): reversed the order of Controls.Add() and Text = null (set_Text): call Controls.Clear() (RenderContents): use HasControls() for the if test instead of Text != "". * HyperLink.cs (AddParsedSubObject): reversed the order of Controls.Add () and Text = null; 2005-07-26 Peter Dennis Bartok * DataGridItemCollection.cs: Implemented 2005-07-26 Chris Toshok * LinkButton.cs (AddParsedSubObject): copy implementation from HyperLink. (RenderContents): only call writer.Write(Text) if Text != "". Otherwise default to base.RenderContents. 2005-07-26 Chris Toshok * Button.cs, CheckBox.cs, TextBox.cs, DropDownList.cs, ListBox.cs, ImageButton.cs, LinkButton.cs (AddAttributesToRender): add if (Page != null) around my last commit. 2005-07-26 Peter Dennis Bartok * FontInfo.cs, CheckBox.cs, RadioButton.cs, ListItemCollection.cs: Fixed use of literal strings, instead using Consts * Xml.cs, RegularExpressionValidator.cs, TemplateColumn.cs, TextBox.cs, RequiredFieldValidator.cs, Repeater.cs, RepeaterItem.cs, Panel.cs, Literal.cs: Added attributes * BaseValidator.cs: Added missing override 2005-07-26 Chris Toshok * Button.cs, CheckBox.cs, TextBox.cs, DropDownList.cs, ListBox.cs, ImageButton.cs, LinkButton.cs (AddAttributesToRender): call Page.VerifyRenderingInServerFormHere. 2005-07-26 Chris Toshok * BaseValidator.cs: remove some MonoTODO's about the client side validator stuff. 2005-07-26 Jordi Mas i Hernandez * Calendar.cs: selection of dates, state load, save, track, support for new properties, many fixes. 2005-07-26 Miguel de Icaza * Style.cs: Temporary methods to help buliding .NET 2.x 2005-07-25 Peter Dennis Bartok * BaseValidator.cs: Added AssociateControlID (new in sp1), fixed attributes * Xml.cs: Fixed base class, attributes * Button.cs, DataGridColumnCollection.cs, HyperLinkColumn.cs, Label.cs, ListItem.cs, ListControl.cs, CustomValidator.cs, CheckBoxList.cs, AdRotator.cs, DropDownList.cs, HyperLink.cs, DataGrid.cs, ButtonColumn.cs, CompareValidator.cs, Calendar.cs, ListBox.cs, ImageButton.cs, LinkButton.cs: Attribute fixes 2005-07-25 Ben Maurer * RepeatInfo.cs: WOOHOOO! all tests pass. Boy is this class cracktastic. 2005-07-25 Ben Maurer * RepeatInfo.cs: If the repeater has one column, the separators are rendered on a different line 2005-07-25 Peter Dennis Bartok * DataGridSortCommandEventArgs: Sealed class * ButtonColumn.cs, Calendar.cs: Added Attributes 2005-07-25 Peter Dennis Bartok * Button.cs, Style.cs, BaseCompareValidator.cs, RangeValidator.cs, BaseValidator.cs, AdRotator.cs, BoundColumn.cs: Added Attributes 2005-07-25 Peter Dennis Bartok * FontInfo.cs, Style.cs, RangeValidator.cs, ListItemCollection.cs, DropDownList.cs, WebControl.cs, ValidationSummary.cs: Added Attributes 2005-07-25 Chris Toshok * ValidationSummary.cs (AddAttributesToRender): add client side support. (OnPreRender): set the "been here" flag. (Render): add client side support. 2005-07-25 Ben Maurer * RepeatInfo.cs: Split the horiz and vertical cases, because this class has rules that are beyond strange. Continue working to make my tests work. 2005-07-25 Ben Maurer * RepeatInfo.cs: Misc fixes for my test suite. 2005-07-25 Jackson Harper * DataGrid.cs: Set the command name and args on the link buttons. 2005-07-25 Jackson Harper * DataGrid.cs: Lots o implementation. 2005-07-25 Jackson Harper * BoundColumn.cs: Partial implementation to get the DataGrid tests passing again. 2005-07-23 Jordi Mas i Hernandez * Button.cs: fixes events, adds attributes 2005-07-23 Chris Toshok * BaseValidator.cs (GetControlValidateValue): handle ListItems as prop.GetValue results. (Render): fix the static non-uplevel case, so that we display text when there's an error. 2005-07-22 Chris Toshok * RegularExpressionValidator.cs (AddAttributesToRender): only output ValidationExpression if it's != null. 2005-07-22 Chris Toshok * BaseValidator.cs (AddAttributesToRender): fix up the Display rendering such it matches MS's output. (Render): stop using the huge complicated if's for each output stage and move to boolean flags, and fix the static-nonuplevel case, where a validator outputs as nothing but   2005-07-22 Jordi Mas i Hernandez * Calendar.cs: Initial implementation * CalendarSelectionMode.cs: fix enum order 2005-07-22 Sebastien Pouliot * DataList.cs: Rewrote the IRepeatInfoUser.RenderItem to support all (or more?) specific cases - including correct support for separators. Added some (commented) debugging code. * HyperLink.cs: Only render href and target attributes if they're not empty. Add "border=0" when rendering tag. Fix Target default value. 2005-07-22 Peter Dennis Bartok * Style.cs (CopyFrom): Reset must go, MS doesn't do it (See tests) 2005-07-22 Peter Dennis Bartok * Style.cs (CopyFrom): Reset our styles and don't set bits from target explicitly, properties will set them 2005-07-22 Dick Porter * BoundColumn.cs: * ButtonColumn.cs: Initial stubs 2005-07-22 Dick Porter * RadioButton.cs: * CheckBox.cs: Add assembly attributes 2005-07-22 Ben Maurer * HyperLink.cs: Handle non-literal children. 2005-07-21 Ben Maurer * Label.cs: SP1 stuff 2005-07-21 Chris Toshok * BaseValidator.cs (RegisterValidatorCommonScript): remove the NS4 stuff that I c&p'ed from elsewhere - NS4 doesn't support the DOM1 stuff WebUIValidation.js uses, so we don't support it for uplevel rendering. 2005-07-21 Chris Toshok * BaseValidator.cs (DetermineRenderUplevel): include checks for the EcmaScriptVersion and W3CDomVersion. 2005-07-21 Sebastien Pouliot * BaseDataList.cs: Support IEnumerable. * DataList.cs: Fix alternate items. * TableCell.cs: Fixed AddParsedSubObject to work nicely with existing controls and the Text property. 2005-07-21 Ben Maurer * TextBoxMode.cs: Wrong ordering of enum... 2005-07-21 Chris Toshok * BaseValidator.cs (OnPreRender): call DetermineRenderUplevel and cache the results. 2005-07-21 Chris Toshok * BaseValidator.cs (get_PropertiesValid): use our containing NamingContainer, not ourselves, to look up controls. (CheckControlValidationProperty): same. (GetControlRenderID): same. (GetControlValidationValue): same. (AddAttributesToRender): add the display style attribute if Display != Static, and add the value of IsValid if it's false. (DetermineRenderUplevel): use a try block around (Page.Request) since that can raise an exception. (OnPreRender): set pre_render_called, so we can consult it in Render. (Render): complicate this method more to handle more of the Display/pre_render_called permutations. 2005-07-21 Peter Dennis Bartok * CustomValidator.cs: Initial implementation, still work in progress 2005-07-21 Sebastien Pouliot * DataList.cs: Fix rendering for special items (-1). 2005-07-21 Ben Maurer * RepeatInfo.cs: Fix most of the tests. 2005-07-21 Sebastien Pouliot * Image.cs: Call ResolveUrl for ImageUrl and DescriptionUrl properties. Add a border=0 attribute if no style is defined. * TableCell.cs: Use HtmlTextWriterTag (not a string). * TableHeaderCell.cs: Use HtmlTextWriterTag (not a string). * TableRow.cs: Use HtmlTextWriterTag (not a string). 2005-07-21 Sebastien Pouliot * BaseDataList.cs: Fix attributes. * HorizontalAlign.cs: Fix attributes. * Image.cs: Fix attributes and enums checks. * Table.cs: Fix attributes an enums checks. * TableCell.cs: Fix attributes. * TableCellCollection.cs: Fix attributes. * TableItemStyle.cs: Fix attributes and enums checks. * TableRowCollection.cs: Fix attributes. * TableRow.cs: Fix attributes. * TableStyle.cs: Fix attributes and enums checks. * VerticalAlign.cs: Fix attributes. 2005-07-21 Sebastien Pouliot * BaseDataList.cs: Remove/#if-out useless/2.0 stuff. * DataList.cs: Added rendering support when ExtractTemplatesRows property is true (but RepeatInfo needs to be fixed to see it works). * DataListItem.cs: Added rendering support when extractRows parameter is true (but RepeatInfo still needs to be fixed ;-) 2005-07-21 Duncan Mak * HyperLinkColumn.cs: Initial implementation. Todo: Figure out Initialize and InitializeCell. 2005-07-20 Chris Toshok * BaseValidator.cs: don't use Page.FindControl, use this Control's FindControl, so it'll use the same naming container. 2005-07-21 Duncan Mak * DataGridCommandEventArgs.cs: * DataGridPageChangedEventArgs.cs: * RepeaterCommandEventArgs.cs: Fixed visibility. * DataGridPageChangedEventArgs.cs (CommandSource): Fixed typo. * DataGridSortCommandEventArgs.cs (CommandSource): Ditto.. 2005-07-20 Chris Toshok * Button.cs: hook up the client side validation stuff. * ImageButton.cs: same. * LinkButton.cs: same, although it's a little more complicated here. 2005-07-20 Peter Dennis Bartok * DropDownList.cs: - Implemented RaisePostDataChangedEvent() - Spewing postback command if AutoPostBack is true 2005-07-20 Chris Toshok * BaseValidator.cs: another Page != null check when uplevel rendering. 2005-07-20 Chris Toshok * BaseValidator.cs: check Page != null when determining if we're rendering uplevel or not. 2005-07-20 Peter Dennis Bartok * ListItemCollection.cs: Removed obsolete method that's no longer referenced 2005-07-20 Peter Dennis Bartok * DropDownList.cs: Oops. Forgot to implement LoadPostData * ListItemCollection.cs: Added convenience method to have faster PostData handling 2005-07-20 Peter Dennis Bartok * DropDownList.cs: - Automatically select the first item if none are selected - Throw exception if more than one item is selected 2005-07-20 Sebastien Pouliot * DataList.cs: Fix style handling for RepeatLayout.Flow (which isn't handled by RepeatInfo). 2005-07-20 Jackson Harper * DataGrid.cs: Store the data source created columns in a DataGridColumnCollection. This way they can be put in the view state more easily, and accessed without casting. 2005-07-20 Chris Toshok * BaseValidator.cs (AddAttributesToRender): render the client side attributes if we're in uplevel mode. (DetermineRenderUplevel): flesh out a bit - for now basically return true unless the control has it disabled. (OnInit): only add the validator to Page's list if there is, in fact, a page. (OnUnload): same for removal. (OnPreRender): hook up client scripting stuff here. Only the call to RegisterValidatorCommonScript is a for sure thing here, the registering of the submit statement and startup script should probably go elsewhere, but I don't know where. (RegisterValidatorCommonScript): register the