Преглед на файлове

2003-01-27 Gaurav Vaish <gvaish_mono AT lycos.com>

	* IListControl.cs        : A private class hacked.
	* PagedControl.cs        : Fixed typo error (OnPageChange)
	* List.cs                : Stubbed almost all methods. Will
	                           implement tommorrow. Time to sleep.
	* MobileListItemCollection.cs
	                         : Finally, a collection class will bite
	                           me all. ;-)

svn path=/trunk/mcs/; revision=10955
Gaurav Vaish преди 23 години
родител
ревизия
6de48fe73b

+ 10 - 0
mcs/class/System.Web.Mobile/System.Web.UI.MobileControls/ChangeLog

@@ -1,4 +1,14 @@
 
+2003-01-27	Gaurav Vaish <gvaish_mono AT lycos.com>
+
+	* IListControl.cs        : A private class hacked.
+	* PagedControl.cs        : Fixed typo error (OnPageChange)
+	* List.cs                : Stubbed almost all methods. Will
+	                           implement tommorrow. Time to sleep.
+	* MobileListItemCollection.cs
+	                         : Finally, a collection class will bite
+	                           me all. ;-)
+
 2003-01-27	Gaurav Vaish <gvaish_mono AT lycos.com>
 
 	* List.cs, PagedControl.cs

+ 19 - 0
mcs/class/System.Web.Mobile/System.Web.UI.MobileControls/IListControl.cs

@@ -0,0 +1,19 @@
+/**
+ * Project   : Mono
+ * Namespace : System.Web.UI.MobileControls
+ * Class     : IListControl
+ * Author    : Gaurav Vaish
+ *
+ * Copyright : 2003 with Gaurav Vaish, and with
+ *             Ximian Inc
+ */
+
+namespace System.Web.UI.MobileControls
+{
+	interface IListControl
+	{
+		void OnItemDataBind(ListDataBindEventArgs e);
+
+		bool TrackingViewState { get; }
+	}
+}

+ 217 - 2
mcs/class/System.Web.Mobile/System.Web.UI.MobileControls/List.cs

@@ -8,21 +8,125 @@
  *             Ximian Inc
  */
 
+using System.Collections;
 using System.Web.UI;
 using System.Web.Mobile;
 
 namespace System.Web.UI.MobileControls
 {
-	public class List : PagedControl//, INamingContainer, IListControl,
-//	                    ITemplateable, IPostBackEventHandler
+	public class List : PagedControl, INamingContainer, IListControl,
+	                    ITemplateable, IPostBackEventHandler
 	{
 		private static readonly object ItemDataBindEvent = new object();
 		private static readonly object ItemCommandEvent  = new object();
 
+		private ListDecoration decoration = ListDecoration.None;
+
 		public List()
 		{
 		}
 
+		public event ListCommandEventHandler ItemCommand
+		{
+			add
+			{
+				Events.AddHandler(ItemCommandEvent, value);
+			}
+			remove
+			{
+				Events.RemoveHandler(ItemCommandEvent, value);
+			}
+		}
+
+		public event ListDataBindEventHandler ItemDataBind
+		{
+			add
+			{
+				Events.AddHandler(ItemDataBindEvent, value);
+			}
+			remove
+			{
+				Events.RemoveHandler(ItemDataBindEvent, value);
+			}
+		}
+
+		private void CreateChildControls(bool doDataBind)
+		{
+			if(IsTemplated)
+			{
+				throw new NotImplementedException();
+			}
+			ChildControlsCreated = true;
+		}
+
+		public virtual string DataMember
+		{
+			get
+			{
+				throw new NotImplementedException();
+			}
+			set
+			{
+				throw new NotImplementedException();
+			}
+		}
+
+		public virtual object DataSource
+		{
+			get
+			{
+				throw new NotImplementedException();
+			}
+			set
+			{
+				throw new NotImplementedException();
+			}
+		}
+
+		public string DataTextField
+		{
+			get
+			{
+				throw new NotImplementedException();
+			}
+			set
+			{
+				throw new NotImplementedException();
+			}
+		}
+
+		public string DataValueField
+		{
+			get
+			{
+				throw new NotImplementedException();
+			}
+			set
+			{
+				throw new NotImplementedException();
+			}
+		}
+
+		public ListDecoration Decoration
+		{
+			get
+			{
+				return decoration;
+			}
+			set
+			{
+				decoration = value;
+			}
+		}
+
+		public bool HasItemCommandHandler
+		{
+			get
+			{
+				return (Events[ItemCommandEvent] != null);
+			}
+		}
+
 		protected override int InternalItemCount
 		{
 			get
@@ -31,6 +135,62 @@ namespace System.Web.UI.MobileControls
 			}
 		}
 
+		public MobileListItemCollection Items
+		{
+			get
+			{
+				throw new NotImplementedException();
+			}
+		}
+
+		public bool ItemsAsLinks
+		{
+			get
+			{
+				throw new NotImplementedException();
+			}
+			set
+			{
+				throw new NotImplementedException();
+			}
+		}
+
+		private void CreateControlItem(MobileListItemType itemType,
+		                        ITemplate itemTemplate, bool doDataBind)
+		{
+			// Create control.
+			// Add control at the end of this "List".
+			throw new NotImplementedException();
+		}
+
+		private int TranslateVirtualItemIndex(int itemIndex)
+		{
+			throw new NotImplementedException();
+		}
+
+		protected override void AddParsedSubObject(object obj)
+		{
+			if(obj is LiteralControl || obj is MobileControl)
+			{
+				throw new NotImplementedException();
+			}
+		}
+
+		protected override void CreateChildControls()
+		{
+			CreateChildControls(true);
+		}
+
+		protected virtual void CreateItems(IEnumerable dataSource)
+		{
+			throw new NotImplementedException();
+		}
+
+		protected override void LoadViewState(object state)
+		{
+			throw new NotImplementedException();
+		}
+
 		protected override bool OnBubbleEvent(object sender, EventArgs e)
 		{
 			if(e is ListCommandEventArgs)
@@ -60,5 +220,60 @@ namespace System.Web.UI.MobileControls
 			if(lceh != null)
 				lceh(this, e);
 		}
+
+		protected override void OnLoadItems(LoadItemsEventArgs e)
+		{
+			throw new NotImplementedException();
+		}
+
+		protected override void OnPageChange(int oldPageIndex,
+		                                     int newPageIndex)
+		{
+			base.OnPageChange(oldPageIndex, newPageIndex);
+			throw new NotImplementedException();
+		}
+
+		protected override void OnPreRender(EventArgs e)
+		{
+			throw new NotImplementedException();
+		}
+
+		protected override object SaveViewState()
+		{
+			throw new NotImplementedException();
+		}
+
+		protected override void TrackViewState()
+		{
+			throw new NotImplementedException();
+		}
+
+		public override void CreateDefaultTemplatedUI(bool doDataBind)
+		{
+			throw new NotImplementedException();
+		}
+
+		public override void EnsureTemplatedUI()
+		{
+			EnsureChildControls();
+		}
+
+		void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
+		{
+			throw new NotImplementedException();
+		}
+
+		void IListControl.OnItemDataBind(ListDataBindEventArgs e)
+		{
+			OnItemDataBind(e);
+		}
+
+		bool IListControl.TrackingViewState
+		{
+			get
+			{
+				return IsTrackingViewState;
+			}
+		}
 	}
 }

+ 22 - 0
mcs/class/System.Web.Mobile/System.Web.UI.MobileControls/MobileListItemCollection.cs

@@ -0,0 +1,22 @@
+/**
+ * Project   : Mono
+ * Namespace : System.Web.UI.MobileControls
+ * Class     : MobileListItemCollection
+ * Author    : Gaurav Vaish
+ *
+ * Copyright : 2003 with Gaurav Vaish, and with
+ *             Ximian Inc
+ */
+
+using System.Web.UI;
+
+namespace System.Web.UI.MobileControls
+{
+	public class MobileListItemCollection : ArrayListCollectionBase//,
+	                                        //IStateManager
+	{
+		public MobileListItemCollection()
+		{
+		}
+	}
+}

+ 1 - 1
mcs/class/System.Web.Mobile/System.Web.UI.MobileControls/PagedControl.cs

@@ -149,7 +149,7 @@ namespace System.Web.UI.MobileControls
 			OnLoadItems(new LoadItemsEventArgs(PagerItemIndex, PagerItemCount));
 		}
 
-		protected virtual void OnPageChanged(int oldPageIndex, int newPageIndex)
+		protected override void OnPageChange(int oldPageIndex, int newPageIndex)
 		{
 			pagingCharsChanged = true;
 		}