2009-03-03  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: SetPageProperties invoked the
	PagePropertiesChanging event with the startRowIndex and
	maximumRows parameters reversed. Fixes bugs #481250 and #481252

	* DataPagerField.cs: GetQueryModeStartRowIndex must return 'true'
	if in query mode. Fixes bug #481248

2008-11-28  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: use the _correct_ operator when checking whether
	selected item index is within the data keys range.

2008-11-27  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: fixes in DoUpdate and DoDelete - check must be made
	that the requested item index is _smaller_ than the number of
	keys, not _bigger_.
	Enable using the lambda expression in CreateItemsInGroups - the
	gmcs bug preventing that was fixed.

2008-11-20  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: implemented the EditItem property.
	Use ConvertEmptyStringToNull in ExtractItemValues.

2008-11-19  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: added paremeter checks to AddControlToContainer.
	CreateInsertItem must instantiate the template and call raise the
	ItemCreated event.
	Added parameter checks to FindPlaceholder

2008-11-18  Marek Habersack  <mhabersack@novell.com>

	* ListViewContainer.cs: added

	* ListView.cs: implemented grouping support. With this ListView is
	feature complete.
	Refactored grouped/non-grouped rendering common code into separate
	methods.
	FindPlaceholder now looks for the placeholder recursively.
	Implemented forgotten UpdateItem method.
	Align group with empty items if there are no more data items.
	Each group is contained within ListViewContainer.

	* ListViewTableCell.cs: added

2008-11-15  Marek Habersack  <mhabersack@novell.com>

	* ListViewInsertEventArgs.cs: implemented the Values property.

	* ListView.cs: CreateChildControls uses the Items collection to
	store the created items.
	InsertNewItem triggers page validation if necessary.
	Part of InsertNewItem code refactored to DoInsert.
	Implemented handling of the Insert and Select commands.

	* TemplatePagerField.cs: implemented all the code.

	* DataPager.cs: CreatePagerFields now adds the new pager field
	control before creating data pagers in it and before binding to
	data. This avoids situation in which the field is parentless.
	FindPageableItemContainer now properly finds the container if it's
	placed directly in the Page.
	{Load,Save}ViewState don't use a Pair anymore, object array is
	used for compatibility with MS.NET

	* NumericPagerField.cs, NextPreviousPagerField.cs,
	DataPagerFieldCommandEventArgs.cs: minor refactoring

	* ListViewSelectEventArgs.cs: implemented all the code.

	* ListViewInsertedEventArgs.cs: Values allocates the dictionary on
	demand now.
	Initialize all the properties in constructor

	* DataPagerCommandEventArgs.cs: added

	* DataPagerField.cs: implemented IsTrackingViewState

	* DataPagerFieldItem.cs: implements the INonBindingContainer
	interface.

2008-11-13  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: implemented support for Edit, Update and Delete.
	Implemented ExtractItemValues.

	* ListViewDataItem.cs, ListViewItem.cs: implemented OnBubbleEvent.

	* ListViewDeletedEventArgs.cs, ListViewUpdateEventArgs.cs,
	ListViewEditEventArgs.cs, ListViewCancelEventArgs.cs,
	ListViewDeleteEventArgs.cs, ListViewUpdatedEventArgs.cs:
	implemented all the properties and methods.

	* HelperExtensions.cs: added

2008-11-06  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: implemented the sorting capability.

	* ListViewSortEventArgs.cs: implemented all the methods and
	properties. 

2008-11-01  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: do not instantiate the layout template more than
	necessary.

	* NextPreviousPagerField.cs: moved some common code to the base
	class (the GetQueryModeStartRowIndex method)

	* DataPager.cs: do not call SetPageProperties more than
	necessary.

	* NumericPagerField.cs: implemented

	* DataPagerField.cs: added a helper method,
	GetQueryModeStartRowIndex, to be used by all the concrete
	implementations to calculate the starting row index in the query
	mode.

2008-10-31  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: use StartRowIndex and MaximumRows properties when
	calculating the total row count server paging case and when
	assigning to corresponding properties of the paged data source.

2008-10-30  Marek Habersack  <mhabersack@novell.com>

	* DataPagerFieldCollection.cs: implemented most of the methods and
	properties, so that using the DataPager is possible now.

	* PagePropertiesChangingEventArgs.cs: implemented all the methods
	and properties.

	* ListView.cs: {Save,Load}ControlState now uses constants to index
	state arrays. Total row count is stored in the control state.
	CreateChildControls () now uses dummy data to initialize child
	controls if no items were found after postback.
	CreateChildControls (IEnumerable, bool) now properly calculates
	total row count, calls OnTotalRowCountAvailable after creating the
	child controls and returns the total row count instead of the
	number of created child controls. This makes pager work
	correctly.
	Implemented SetPageProperties () to support paging.

	* NextPreviousPagerField.cs: Correctly order the Next/Previous
	buttons.
	When creating buttons, cast the new control properly before
	assigning properties.

	* TemplatePagerField.cs: added (stub)

	* DataPager.cs: added missing class attributes (ParseChildren,
	PersistChildren and SupportsEventValidation).
	{Save,Load}ControlState now use constants to index the state
	arrays.
	Properly implemented FindPageableItemContainer - it now looks for
	the container up the parenthood chain, querying all the naming
	containers for the named control.
	SetUpForNewContainer now accepts an additional parameter, so that
	the SetPageProperties method is called on the container whenever
	necessary.

	* NumericPagerField.cs: implemented the CreateField method.

	* ListViewPagedDataSource.cs: implemented data source
	enumerators.

	* DataPagerFieldItem.cs: implemented all the methods and properties.

2008-10-21  Atsushi Enomoto  <atsushi@ximian.com>

	* LinqDataSource.cs : set ContextTypeName too when ContextType is set.

2008-10-09  Atsushi Enomoto  <atsushi@ximian.com>

	* LinqDataSource.cs : implement ContextType/ContextTypeName.
	* LinqDataSourceView.cs : some ExecuteSelect() implementation.
	  Cache type members which are from reflection.

2008-10-08  Atsushi Enomoto  <atsushi@ximian.com>

	* LinqDataSource.cs, LinqDataSourceView.cs :
	  some more implementation.

2008-09-30  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: implemented all the events.
	CreateChildControls works with non-ICollection data sources now.
	CreateItemsWithoutGroups now counts items placed in the container
	and stores the container in a field, so that RemoveItems can
	properly delete the child controls.
	Implemented the RemoveItems method.
	Implemented Load/SaveControlState.
	Implemented LoadViewState.
	Implemented OnBubbleEvent.
	Implemented all the On* methods.

	* ListViewCommandEventArgs.cs: implemented the CommandSource and
	Item properties.

	* ListViewItemEventArgs.cs: implemented the Item property.

2008-09-18  Atsushi Enomoto  <atsushi@ximian.com>

	* LinqDataSource.cs, LinqDataSourceView.cs
	  LinqDataSourceContextEventArgs.cs
	  LinqDataSourceDeleteEventArgs.cs
	  LinqDataSourceDisposeEventArgs.cs
	  LinqDataSourceInsertEventArgs.cs
	  LinqDataSourceSelectEventArgs.cs
	  LinqDataSourceStatusEventArgs.cs
	  LinqDataSourceUpdateEventArgs.cs : easy implementation parts.

2008-09-18  Atsushi Enomoto  <atsushi@ximian.com>

	* LinqDataSource.cs, LinqDataSourceView.cs
	  LinqDataSourceContextEventArgs.cs
	  LinqDataSourceDeleteEventArgs.cs
	  LinqDataSourceDisposeEventArgs.cs
	  LinqDataSourceInsertEventArgs.cs
	  LinqDataSourceSelectEventArgs.cs
	  LinqDataSourceStatusEventArgs.cs
	  LinqDataSourceUpdateEventArgs.cs
	  LinqDataSourceValidationException.cs : stubbed out.

2008-05-08  Marek Habersack  <mhabersack@novell.com>

	* DataPager.cs, DataPager.cs, DataPagerFieldCollection.cs,
	DataPagerFieldCommandEventArgs.cs, DataPagerField.cs,
	DataPagerFieldItem.cs, InsertItemPosition.cs,
	IPageableItemContainer.cs, ListViewCancelEventArgs.cs,
	ListViewCancelMode.cs, ListViewCommandEventArgs.cs, ListView.cs,
	ListViewDataItem.cs, ListViewDeletedEventArgs.cs,
	ListViewDeleteEventArgs.cs, ListViewEditEventArgs.cs,
	ListViewInsertedEventArgs.cs, ListViewInsertEventArgs.cs,
	ListViewItem.cs, ListViewItemEventArgs.cs, ListViewItemType.cs,
	ListViewPagedDataSource.cs, ListViewSelectEventArgs.cs,
	ListViewSortEventArgs.cs, ListViewTableRow.cs,
	ListViewUpdatedEventArgs.cs, ListViewUpdateEventArgs.cs,
	NextPreviousPagerField.cs, NumericPagerField.cs, PageEventArgs.cs,
	PagePropertiesChangingEventArgs.cs, TemplatePagerField.cs:
	added. NOTE: this is code in progress! It is not fully implemented
	and usable, please do not file bug reports for the code - patches
	are gladly accepted :)

