+2009-10-02 Marek Habersack <mhabersack@novell.com>
+
+ * DynamicValidator.cs: initial implementation
+
+ * DynamicDataManager.cs: implemented OnLoad.
+ Better implementation of RegisterControl
+
+ * DynamicDataExtensions.cs: implemented FindDataSourceControl.
+
+2009-09-18 Marek Habersack <mhabersack@novell.com>
+
+ * MetaTable.cs: implemented Init - calls Init on all the columns
+ present in this instance.
+
+ * MetaModel.cs: constructor initializes FieldTemplateFactory after
+ it is instantiated.
+ RegisterContextCore first registers the context type, then creates
+ tables and finally calls Init on all the tables.
+
+ * MetaColumn.cs: added internal Init method - called by MetaModel
+ after context is registered and all tables are created and
+ registered.
+
+ * MetaChildrenColumn.cs: implemented ChildTable,
+ ColumnInOtherTable, GetChildrenListPath, GetChildrenPath and added
+ an internal Init method override. MonoTODO attributes stay until I
+ write tests for the class.
+
+ * FieldTemplateUserControl.cs: implemented ChildrenColumn,
+ ChildrenPath, Column, ForeignKeyColumn, ForeignKeyPath,
+ MetadataAttributes, Mode, Row, Table, SetHost
+
+ * FieldTemplateFactory.cs: GetFieldTemplateVirtualPath fixes
+
+ * DynamicControl.cs: implemented ApplyFormatInEditMode,
+ ConvertEmptyStringToNull, DataField, DataFormatString, HtmlEncode,
+ FormattingOptions, NullDisplayText, UIHint, OnInit, Render.
+
+2009-09-15 Marek Habersack <mhabersack@novell.com>
+
+ * MetaColumn.cs: DataTypeAttribtue created automatically for
+ string columns, must be of type MultilineText for long strings.
+
+ * FieldTemplateFactory.cs: implemented BuildVirtualPath,
+ CreateFieldTemplate, GetFieldTemplateVirtualPath, PreprocessMode
+ and fixed implementation of TemplateFolderVirtualPath.
+
+2009-09-10 Marek Habersack <mhabersack@novell.com>
+
+ * DynamicControl.cs: implemented several properties.
+ Added code for ResolveColumn method, called from OnInit
+
+2009-07-14 Marek Habersack <mhabersack@novell.com>
+
+ * FieldTemplateFactory.cs: implemented TemplateFolderVirtualPath
+
+2009-06-27 Marek Habersack <mhabersack@novell.com>
+
+ * DynamicDataExtensions.cs: implemented ConvertEditedValue
+
+ * MetaModel.cs: implemented DynamicDataFolderVirtualPath
+
+ * DynamicDataRouteHandler.cs: implemented SetRequestMetaTable,
+ GetCustomPageVirtualPath, GetScaffoldPageVirtualPath and
+ guessed at implementation of CreateHandler.
+
+2009-06-26 Marek Habersack <mhabersack@novell.com>
+
+ * MetaModel.cs: RegisterContextCore preserves already registered
+ tables.
+
+ * DynamicDataRouteHandler.cs: GetRequestContext must not retrieve
+ route data from the routes collection (if the matching route
+ happened to be an instance of DynamicDataRoute it would initialize
+ its RouteHandler's Model property, which is not correct, according
+ to tests). Instead a new RouteData instance is created each time
+ we don't find any cached context.
+
+ * DynamicDataRoute.cs: the associated route handler is set its
+ Model property when we initialize for the first time.
+ GetRouteData checks whether route data returned by base class
+ relates to a table which exists in the current context. If no such
+ table exists, null is returned.
+
+2009-06-25 Marek Habersack <mhabersack@novell.com>
+
+ * MetaTable.cs: Fixes to make tests succeed.
+
+ * MetaModel.cs: added the GetDataFieldAttributes method for
+ retrieving attributes associated with data type/field.
+ Fixes to make tests succeed.
+
+ * MetaColumn.cs: refactoring - use
+ MetaModel.GetDataFieldAttributes instead of the local version.
+
+ * DynamicDataRouteHandler.cs: implemented GetRequestContext,
+ GetRequestMetaTable.
+
+ * DynamicDataRoute.cs: when the Action and Table properties are
+ set before one of GetVirtualPath or GetRouteData methods are
+ called for the first time, a check is made whether the Defaults
+ collection exists and whether it contains entries for Action and
+ Table. Initialization code makes sure those entries are inserted
+ into the dictionary in those cases.
+
+2009-06-23 Marek Habersack <mhabersack@novell.com>
+
+ * MetaTable.cs: constructor now takes ContextConfiguration instead
+ of a boolean and uses the config to determine value of the
+ ScaffoldAllTables property. Also, if context config is present,
+ makes sure to register the associated type description provider
+ (if any) with TypeDescriptor.
+
+ * MetaModel.cs: no longer uses local cache for description
+ providers. Uses TypeDescriptor.{Add,Get}Provider now.
+
+ * MetaColumn.cs: fixed Scaffold to match tests - IsGenerated and
+ IsCustomProperty take precedence over Table.ScaffoldAllTables.
+ GetDataFieldAttribute doesn't use AttributeCollection indexer, as
+ the latter would create a default instance of the requested
+ attribute, which is not what we want here.
+
+2009-06-17 Marek Habersack <mhabersack@novell.com>
+
+ * MetaTable.cs: fixed Scaffold implementation.
+ Added internal ScaffoldAllTables property.
+
+ * MetaColumn.cs: fixed TypeCode, MaxLength, Scaffold, UIHint
+ implementations.
+ Implemented IsLongString, IsBinaryData, IsReadOnly,
+ NullDisplayText, RequiredErrorMessage
+
+2009-06-16 Marek Habersack <mhabersack@novell.com>
+
+ * DynamicDataManager.cs, DynamicDataExtensions.cs: use new
+ DataBoundControl.DataSourceObject instead of
+ InternalGetDataSource.
+
+2009-06-15 Marek Habersack <mhabersack@novell.com>
+
+ * MetaColumn.cs: implemented ApplyFormatInEditMode, Attributes,
+ ConvertEmptyStringToNull, DataFormatString, DataTypeAttribute,
+ DefaultValue, Description, DisplayName, IsRequired,
+ IsFloatingPoint, IsInteger, IsString, TypeCode
+
+ * MetaTable.cs: use MetaModel.GetTypeDescriptor to retrieve
+ associated entity type attributes.
+
+ * MetaModel.cs: implemented registration of type metadata
+ cache. Metadata is provided by a set of TypeDescriptionProvider
+ instances (if ContextConfig is present for given model provider)
+ or by default type description provider (note that this
+ functionality is not implemented in
+ System.ComponentModel.TypeDescriptor yet!).
+
+2009-06-12 Marek Habersack <mhabersack@novell.com>
+
+ * MetaTable.cs: implemented correct detection of foreign key
+ columns.
+ Implemented IsReadOnly, SortColumn, SortDescending.
+
+2009-06-10 Marek Habersack <mhabersack@novell.com>
+
+ * MetaTable.cs: fixed DisplayName implementation.
+ Implemented GetPrimaryKeyString, GetQuery.
+
+2009-06-09 Marek Habersack <mhabersack@novell.com>
+
+ * MetaTable.cs: implemented more overloads of GetActionPath.
+ Implemented GetPrimaryKeyValues, GetActionPathFromRoutes,
+ Attributes, DisplayColumn, GetDisplayString.
+
+2009-06-01 Marek Habersack <mhabersack@novell.com>
+
+ * MetaModel.cs: GetModel throws InvalidOperationException on
+ missing model.
+ Implemented GetActionPath and GetTable.
+
+2009-04-29 Marek Habersack <mhabersack@novell.com>
+
+ * MetaTable.cs: implemented the DataContextType,
+ DataContextPropertyName properties and the ToString method.
+
+ * MetaColumn.cs: implemented the Scaffold, DisplayName,
+ SortExpression, UIHint properties and the ToString method.
+
+ * DynamicField.cs: implemented
+
+ * DynamicDataManager.cs: partially implemented RegisterControl.
+ Added internal AutoFieldGenerator class, used by RegisterControl
+ when dealing with GridView.
+ Implemented some properties.
+
+ * DynamicDataExtensions.cs: implemented GetTable and FindMetaTable
+
+ * DynamicControl.cs: implemented parts of the class.
+
+2009-04-23 Marek Habersack <mhabersack@novell.com>
+
+ * ContextConfiguration.cs: implemented all the methods and added a
+ parameterless constructor.
+
2008-10-21 Atsushi Enomoto <atsushi@ximian.com>
* DynamicDataRouteHandler.cs, DynamicDataRoute.cs, MetaTable.cs: