2002-10-18 DennisHayes <dennish@raytek.com>
authorDennis Hayes <dennis@mono-cvs.ximian.com>
Mon, 21 Oct 2002 03:02:52 +0000 (03:02 -0000)
committerDennis Hayes <dennis@mono-cvs.ximian.com>
Mon, 21 Oct 2002 03:02:52 +0000 (03:02 -0000)
* Application.cs
* Button.cs
* ButtonBase.cs
* changelog
* ContainerControl.cs
* Control.cs
* DrawItemEventArgs.cs
* DrawItemEventHandler.cs
* Font.cs
* Form.cs
* IAccessible.cs
* IContainerControl.cs
* Label.cs
* MenuItem.cs
* MessageBox.cs
* NativeWindow.cs
* ScrollableControl.cs
* Win32.cs

* Added some implmentation. Uncommented some stuff.
* About to add files to implment stuff uncommented.

svn path=/trunk/mcs/; revision=8434

31 files changed:
mcs/class/System.Windows.Forms/System.Windows.Forms/ochangelog
mcs/class/System.Windows.Forms/WINELib/AccessibleEvents.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/AccessibleNavigation.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/AccessibleObject.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/AccessibleRole.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/AccessibleSelection.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/AccessibleStates.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/AnchorStyles.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ApplicationContext.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/AssemblyInfo.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/BaseCollection.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/Binding.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/BindingContext.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/BindingManagerBase.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/BindingMemberInfo.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/BindingsCollection.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/BorderStyle.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/BoundsSpecified.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/CheckState.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ColorDepth.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ColumnClickEventArgs.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ColumnClickEventHandler.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ComVisible.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ContentsResizedEventArgs.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ContentsResizedEventHandler.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ContextMenu.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ControlBindingsCollection.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ControlEventArgs.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ControlEventHandler.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/ControlStyles.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/WINELib/changelog

index 5dbbd3181df4f985e74c46bb58b1bc71ad9c1ade..38cf0dceda6253c01a51b9564c8a1fdaa87d40d0 100644 (file)
@@ -1,30 +1,3 @@
-  2002-10-18  DennisHayes <dennish@raytek.com>\r
-       * Application.cs\r
-       * Button.cs\r
-       * ButtonBase.cs\r
-       * changelog\r
-       * ContainerControl.cs\r
-       * Control.cs\r
-       * DrawItemEventArgs.cs\r
-       * DrawItemEventHandler.cs\r
-       * Font.cs\r
-       * Form.cs\r
-       * IAccessible.cs\r
-       * IContainerControl.cs\r
-       * Label.cs\r
-       * MenuItem.cs\r
-       * MessageBox.cs\r
-       * NativeWindow.cs\r
-       * ScrollableControl.cs\r
-       * Win32.cs\r
-\r
-       * Added some implmentation. Uncommented some stuff. \r
-       * About to add files to implment stuff uncommented.\r
-\r
-\r
-  2002-10-19  John Sohn <jsohn@columbus.rr.com>\r
-       * makefile: removed hard coded path to libmono\r
-\r
   2002-10-18  DennisHayes <dennish@raytek.com>\r
   \r
        * Application.cs\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/AccessibleEvents.cs b/mcs/class/System.Windows.Forms/WINELib/AccessibleEvents.cs
new file mode 100644 (file)
index 0000000..d39f188
--- /dev/null
@@ -0,0 +1,59 @@
+//\r
+// System.Windows.Forms.AccessibleEvents.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian = , Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// </summary>\r
+       public enum AccessibleEvents{\r
+               AcceleratorChange = 32786,\r
+               Create = 32768,\r
+               DefaultActionChange = 32765,\r
+               DescriptionChange = 32781,\r
+               Destroy = 32769,\r
+               Focus = 32773,\r
+               HelpChange = 32784,\r
+               Hide = 32771,\r
+               LocationChange = 32779,\r
+               NameChange = 32780,\r
+               ParentChange = 32783,\r
+               Reorder = 32772,\r
+               Selection = 32774,\r
+               SelectionAdd = 32775,\r
+               SelectionRemove = 32776,\r
+               SelectionWithin = 32777,\r
+               Show = 32770,\r
+               StateChange = 32778,\r
+               SystemAlert = 2,\r
+               SystemCaptureEnd = 9,\r
+               SystemCaptureStart = 8,\r
+               SystemContextHelpEnd = 13,\r
+               SystemContextHelpStart = 12,\r
+               SystemDialogEnd = 17,\r
+               SystemDialogStart = 16,\r
+               SystemDragDropEnd = 15,\r
+               SystemDragDropStart = 14,\r
+               SystemForeground = 3,\r
+               SystemMenuEnd = 5,\r
+               SystemMenuPopupEnd = 7,\r
+               SystemMenuPopupStart = 6,\r
+               SystemMenuStart = 4,\r
+               SystemMinimizeEnd = 23,\r
+               SystemMinimizeStart = 22,\r
+               SystemMoveSizeEnd = 11,\r
+               SystemMoveSizeStart = 10,\r
+               SystemScrollingEnd = 19,\r
+               SystemScrollingStart = 18,\r
+               SystemSound = 1,\r
+               SystemSwitchEnd = 21,\r
+               SystemSwitchStart = 20,\r
+               ValueChange = 32782\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/AccessibleNavigation.cs b/mcs/class/System.Windows.Forms/WINELib/AccessibleNavigation.cs
new file mode 100644 (file)
index 0000000..c7d0177
--- /dev/null
@@ -0,0 +1,32 @@
+//\r
+// System.Windows.Forms.AccessibleNavigation.cs\r
+//\r
+// Author:\r
+//   Jaak Simm (jaaksimm@firm.ee)\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+\r
+       /// <summary>\r
+       /// Specifies a values for navigating among accessible objects.\r
+       /// </summary>\r
+\r
+       //[Serializable]\r
+       public enum AccessibleNavigation {\r
+\r
+               //Values were verified with enumcheck.\r
+               Down = 2,\r
+               FirstChild = 7,\r
+               LastChild = 8,\r
+               Left = 3,\r
+               Next = 5,\r
+               Previous = 6,\r
+               Right = 4,\r
+               Up = 1\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/AccessibleObject.cs b/mcs/class/System.Windows.Forms/WINELib/AccessibleObject.cs
new file mode 100644 (file)
index 0000000..ea97e6c
--- /dev/null
@@ -0,0 +1,370 @@
+//\r
+// System.Windows.Forms.AccessibleObject.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//     Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc\r
+//\r
+\r
+using System;\r
+using System.Reflection;\r
+using System.Globalization;\r
+//using System.Windows.Forms.AccessibleObject.IAccessible;\r
+using System.Drawing;\r
+using Accessibility;\r
+using System.Runtime.InteropServices;\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Provides information that accessibility applications use to adjust an application's UI for users with impairments.\r
+       ///\r
+       /// ToDo note:\r
+       ///  - Nothing is implemented\r
+       ///  - IAccessible members not stubbed out\r
+       ///  - MarshalByRefObject members not stubbed out\r
+       /// MSDN gives little info on the members of IAccessible: "This member supports the .NET Framework infrastructure and is not intended to be used directly from your code."\r
+       /// </summary>\r
+       [MonoTODO]\r
+       [ComVisible(true)]\r
+       public class AccessibleObject : MarshalByRefObject, IReflect, IAccessible {\r
+               private string defaultAction;\r
+               private string description;\r
+               private string help;\r
+               private string keyboardShortcut;\r
+               private AccessibleObject parent;\r
+               private AccessibleRole role;\r
+               private AccessibleStates state;\r
+               private string name;\r
+               private string value;\r
+               // --- Constructor ---\r
+               [MonoTODO]\r
+               public AccessibleObject() {\r
+                       name = null;\r
+                       parent = null;\r
+                       role = AccessibleRole.None;\r
+                       state = AccessibleStates.None;\r
+                       value = null;\r
+\r
+               }\r
+\r
+               [MonoTODO]\r
+               ~AccessibleObject(){\r
+               }\r
+               \r
+               /// <summary>\r
+               ///     Equals Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Checks equivalence of this AccessibleObject and another object.\r
+               /// </remarks>\r
+               \r
+               public override bool Equals (object obj) {\r
+                       if (!(obj is AccessibleObject))\r
+                               return false;\r
+\r
+                       return (this == (AccessibleObject) obj);\r
+               }\r
+\r
+               /// <summary>\r
+               ///     GetHashCode Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Calculates a hashing value.\r
+               /// </remarks>\r
+               \r
+               public override int GetHashCode () {\r
+                       //unchecked{//FIXME Add out proprities to the hash\r
+                               return base.GetHashCode();\r
+                       //}\r
+               }\r
+\r
+               /// <summary>\r
+               ///     ToString Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Formats the AccessibleObject as a string.\r
+               /// </remarks>\r
+               \r
+               //spec says inherited\r
+               //public override string ToString () {\r
+               //      return "AccessibleObject".GetType();//per spec as I read it?\r
+               //}\r
+\r
+               // --- Properties ---\r
+\r
+               [ComVisible(true)]\r
+               public virtual Rectangle Bounds {\r
+\r
+                       get { return Rectangle.Empty; } // As per spec for default. Expect override.\r
+               }\r
+\r
+               [ComVisible(true)]\r
+               public virtual string DefaultAction {\r
+\r
+                       get {return null; }// As per spec for default. Expect override.\r
+               }\r
+    \r
+               [ComVisible(true)]\r
+               public virtual string Description {\r
+\r
+                       get {return null; }// As per spec for default. Expect override.\r
+               }\r
+\r
+               [ComVisible(true)]\r
+               public virtual string Help {\r
+\r
+                       get {return null; }// As per spec for default. Expect override.\r
+               }\r
+\r
+               [ComVisible(true)]\r
+               public virtual string KeyboardShortcut {\r
+\r
+                       get {return null; }// As per spec for default. Expect override.\r
+               }\r
+\r
+               [ComVisible(true)]\r
+               public virtual string Name {\r
+                       get { return name; }\r
+                       set { name = value; }\r
+               }\r
+\r
+               [ComVisible(true)]\r
+               public virtual string Value {\r
+                       get { return this.value; }\r
+                       set { this.value = value; }\r
+               }\r
+\r
+               [ComVisible(true)]\r
+               public virtual AccessibleObject Parent {\r
+                       get { return parent; }\r
+                       set { parent = value; }\r
+               }\r
+               \r
+               [ComVisible(true)]\r
+               public virtual AccessibleRole Role {\r
+                       get { return role; }\r
+                       set { role = value; }\r
+               }\r
+               \r
+               [ComVisible(true)]\r
+               public virtual AccessibleStates State {\r
+                       get { return state; }\r
+                       set { state = value; }\r
+               }\r
+\r
+               // --- Methods ---\r
+               [ComVisible(true)]\r
+               public virtual void DoDefaultAction() {\r
+                       return; //default action is "" and cannot be changed, must be overridden.\r
+               }\r
+               \r
+               [ComVisible(true)]\r
+               public virtual AccessibleObject GetChild(int index) {\r
+                       return null;\r
+               }\r
+               \r
+               [ComVisible(true)]\r
+               public virtual int GetChildCount() {\r
+                       return -1; //as per spec\r
+               }\r
+               \r
+               [MonoTODO]\r
+               [ComVisible(true)]\r
+               public virtual AccessibleObject GetFocused() {\r
+                       return null;//FIXME: not quite to spec.\r
+               }\r
+\r
+               [ComVisible(true)]\r
+               public virtual int GetHelpTopic(out string fileName) {\r
+                       fileName = "";\r
+                       return -1;//no help\r
+               }\r
+               \r
+               [ComVisible(true)]\r
+               public virtual AccessibleObject GetSelected() {\r
+                       return null;\r
+               }\r
+               \r
+               [MonoTODO]\r
+               [ComVisible(true)]\r
+               public virtual AccessibleObject HitTest(int x,int y) {\r
+                       return null;            }\r
+               \r
+               [MonoTODO]\r
+               [ComVisible(true)]\r
+               public virtual AccessibleObject Navigate(AccessibleNavigation navdir) {\r
+                       //by default, navagate back to here. Does this work? \r
+                       //not to spec, but better than execption FIXME:\r
+                       return this;\r
+               }\r
+\r
+               [MonoTODO]\r
+               [ComVisible(true)]\r
+               public virtual void Select(AccessibleSelection flags) {\r
+                       return;//FIXME: Not to spec. should be over ridden anyway.\r
+               }\r
+\r
+               //Not part of spec?\r
+               //[MonoTODO]\r
+               //[ComVisible(true)]\r
+               //protected void UseStdAccessibleObjects(IntPtr handle,int objid) \r
+               //{\r
+               //      throw new NotImplementedException ();\r
+               //}\r
+\r
+\r
+               // --- Methods: IReflect ---\r
+               [MonoTODO]\r
+               FieldInfo IReflect.GetField( string name,BindingFlags bindingAttr) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               FieldInfo[] IReflect.GetFields (BindingFlags bindingAttr) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               MemberInfo[] IReflect.GetMember( string name, BindingFlags bindingAttr) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               MemberInfo[] IReflect.GetMembers( BindingFlags bindingAttr) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               MethodInfo IReflect.GetMethod( string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+               [MonoTODO]\r
+               MethodInfo IReflect.GetMethod( string name, BindingFlags bindingAttr) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+\r
+\r
+               [MonoTODO]\r
+               MethodInfo[] IReflect.GetMethods( BindingFlags bindingAttr) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               PropertyInfo[] IReflect.GetProperties( BindingFlags bindingAttr) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               PropertyInfo IReflect.GetProperty( string name, BindingFlags bindingAttr) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               PropertyInfo IReflect.GetProperty( string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               //[Guid("")]\r
+               object IReflect.InvokeMember( string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters) {\r
+                       // FIXME\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               \r
+               Type IReflect.UnderlyingSystemType {\r
+               //private Type UnderlyingSystemType {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               void IAccessible.accDoDefaultAction(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               int IAccessible.accChildCount{\r
+                       get{\r
+                               throw new NotImplementedException ();\r
+                       }\r
+               }\r
+\r
+               object IAccessible.accFocus{\r
+                       get{\r
+                               throw new NotImplementedException ();\r
+                       }\r
+               }\r
+               object IAccessible.accHitTest(int xLeft, int yTop) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               void IAccessible.accLocation(out int pxLeft, out int pyTop, out int pcxWidth, out int pcyHeight, object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               object IAccessible.accNavigate(int navDir, object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               object IAccessible.accParent {\r
+                       get{\r
+                               throw new NotImplementedException ();\r
+                       }\r
+               }\r
+               void IAccessible.accSelect(int flagsSelect, object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               object IAccessible.accSelection {\r
+                       get{\r
+                               throw new NotImplementedException ();\r
+                       }\r
+               }\r
+               object IAccessible.get_accChild(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               string IAccessible.get_accDefaultAction(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               string IAccessible.get_accDescription(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               string IAccessible.get_accHelp(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               int IAccessible.get_accHelpTopic(out string pszHelpFile,object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               string IAccessible.get_accKeyboardShortcut(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               string IAccessible.get_accName(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               object IAccessible.get_accRole(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               object IAccessible.get_accState(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               string IAccessible.get_accValue(object childID) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               void IAccessible.set_accName(object childID, string newName) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               void IAccessible.set_accValue(object childID, string newValue) {\r
+                       throw new NotImplementedException ();\r
+               }\r
+       }\r
+       \r
+}\r
+\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/AccessibleRole.cs b/mcs/class/System.Windows.Forms/WINELib/AccessibleRole.cs
new file mode 100644 (file)
index 0000000..8a21d96
--- /dev/null
@@ -0,0 +1,80 @@
+//\r
+// System.Windows.Forms.AccessibleRole.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// </summary>\r
+       public enum AccessibleRole{\r
+               Alert = 8,\r
+               Animation = 54,\r
+               Application = 14,\r
+               Border = 19,\r
+               ButtonDropDownGrid = 58,\r
+               ButtonMenu = 57,\r
+               Caret = 7,\r
+               Cell = 29,\r
+               Character = 32,\r
+               Chart = 17,\r
+               CheckButton = 44,\r
+               Client = 10,\r
+               Clock = 61,\r
+               Column = 27,\r
+               ColumnHeader = 25,\r
+               ComboBox = 46,\r
+               Cursor = 6,\r
+               Default = -1,\r
+               Diagram = 53,\r
+               Dial = 49,\r
+               Dialog = 18,\r
+               Document = 15,\r
+               DropList = 47,\r
+               Equation = 55,\r
+               Graphic = 40,\r
+               Grip = 4,\r
+               Grouping = 20,\r
+               HelpBalloon = 31,\r
+               HotkeyField = 50,\r
+               Indicator = 39,\r
+               Link = 30,\r
+               List = 33,\r
+               ListItem = 34,\r
+               MenuBar = 2,\r
+               MenuItem = 12,\r
+               MenuPopup = 11,\r
+               None = 0,\r
+               Outline = 35,\r
+               OutlineItem = 36,\r
+               PageTab = 37,\r
+               PageTabList = 60,\r
+               Pane = 16,\r
+               ProgressBar = 48,\r
+               PropertyPage = 38,\r
+               PushButton = 43,\r
+               RadioButton = 45,\r
+               Row = 28,\r
+               RowHeader = 26,\r
+               ScrollBar = 3,\r
+               Separator = 21,\r
+               Slider = 51,\r
+               Sound = 5,\r
+               SpinButton = 52,\r
+               StaticText = 41,\r
+               StatusBar = 23,\r
+               Table = 24,\r
+               Text = 42,\r
+               TitleBar = 1,\r
+               ToolBar = 22,\r
+               ToolTip = 13,\r
+               WhiteSpace = 59,\r
+               Window = 9\r
+       }\r
+\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/AccessibleSelection.cs b/mcs/class/System.Windows.Forms/WINELib/AccessibleSelection.cs
new file mode 100644 (file)
index 0000000..dce814a
--- /dev/null
@@ -0,0 +1,30 @@
+//\r
+// System.Windows.Forms.AccessibleSelection.cs\r
+//\r
+// Author:\r
+//   Jaak Simm (jaaksimm@firm.ee)\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+\r
+       /// <summary>\r
+  /// Specifies how an accessible object is selected or receives focus.\r
+  /// This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.\r
+       /// </summary>\r
+       [Flags]\r
+       //[Serializable]\r
+       public enum AccessibleSelection {\r
+\r
+               AddSelection = 1,\r
+               ExtendSelection = 2,\r
+               None = 0,\r
+               RemoveSelection = 4,\r
+               TakeFocus = 8,\r
+               TakeSelection = 16\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/AccessibleStates.cs b/mcs/class/System.Windows.Forms/WINELib/AccessibleStates.cs
new file mode 100644 (file)
index 0000000..49eb44e
--- /dev/null
@@ -0,0 +1,59 @@
+//\r
+// System.Windows.Forms.AccessibleStates.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// </summary>\r
+       public enum AccessibleStates{\r
+               AlertLow = 67108864,\r
+               AlertMedium = 134217728,\r
+               AlertHigh = 268435456,\r
+               Animated = 16384,\r
+               Busy = 2048,\r
+               Checked = 16,\r
+               Collapsed = 1024,\r
+               Default = 256,\r
+               Expanded = 512,\r
+               ExtSelectable = 33554432,\r
+               Floating = 4096,\r
+               Focusable = 1048576,\r
+               Focused = 4,\r
+               HotTracked = 128,\r
+               Indeterminate =32,\r
+               Mixed = 32,\r
+               Invisible = 32768,\r
+               Linked = 4194304,\r
+               Marqueed = 8192,\r
+               Moveable = 262144,\r
+               MultiSelectable = 16777216,\r
+               None = 0,\r
+               Pressed = 8,\r
+               Protected = 536870912,\r
+               ReadOnly = 64,\r
+               Offscreen = 65536,\r
+               Selectable = 2097152,\r
+               Selected = 2,\r
+               SelfVoicing = 524288,\r
+               Sizeable = 131072,\r
+               Traversed =8388608,\r
+               Unavailable = 1,\r
+               Valid = 1073741823,             \r
+\r
+\r
+               //Where did these come from, are they missing from elsewhere?\r
+               //AddSelection = ,\r
+               //ExtendSelection = ,\r
+               //None = ,\r
+               //RemoveSelection = ,\r
+               //TakeFocus = ,\r
+               //TakeSelection = \r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/AnchorStyles.cs b/mcs/class/System.Windows.Forms/WINELib/AnchorStyles.cs
new file mode 100644 (file)
index 0000000..2b166e2
--- /dev/null
@@ -0,0 +1,22 @@
+//\r
+// System.Windows.Forms.AnchorStyles.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// </summary>\r
+       public enum AnchorStyles{\r
+               Bottom = 2,\r
+               Left = 4,\r
+               None = 0,\r
+               Right = 8,\r
+               Top = 1\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ApplicationContext.cs b/mcs/class/System.Windows.Forms/WINELib/ApplicationContext.cs
new file mode 100644 (file)
index 0000000..9fcf00f
--- /dev/null
@@ -0,0 +1,83 @@
+//\r
+// System.Windows.Forms.ApplicationContext\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//     Dennis hayes (dennish@raytek.com)\r
+//\r
+// (C) Ximian, Inc 2002\r
+//\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Specifies the contextual information about an application thread.\r
+       ///\r
+       /// ToDo note: Needsa Core; eg,==,!=,Gethascode,ToString.\r
+       /// </summary>\r
+\r
+       [MonoTODO]\r
+       public class ApplicationContext {\r
+\r
+               Form mainForm;\r
+               \r
+               // --- (public) Properties ---\r
+               public Form MainForm {\r
+                       get { return mainForm; }\r
+                       set { mainForm = value; }\r
+               }\r
+               \r
+               // --- Constructor ---\r
+               public ApplicationContext() \r
+               {\r
+                       mainForm=null;\r
+               }\r
+               \r
+               public ApplicationContext(Form mainForm) : this() \r
+               {\r
+                       this.mainForm=mainForm;\r
+               }\r
+               \r
+               // --- Methods ---\r
+               [MonoTODO]\r
+               public void Dispose() \r
+               {\r
+                       // see documentation on ApplicationContext.Dispose Method (Boolean)\r
+                       this.Dispose(true);\r
+               }\r
+               \r
+               [MonoTODO]\r
+               protected virtual void Dispose(bool disposing) \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public void ExitThread() \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               [MonoTODO]\r
+               protected virtual void ExitThreadCore() \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               [MonoTODO]\r
+               protected virtual void OnMainFormClosed(object sender,EventArgs e) \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               // --- Methods: object ---\r
+               [MonoTODO]\r
+               ~ApplicationContext() {\r
+                       // see documentation on ApplicationContext.Dispose Method (Boolean)\r
+                       this.Dispose(false);\r
+               }\r
+               \r
+               // --- Events ---\r
+               public event EventHandler ThreadExit;\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/AssemblyInfo.cs b/mcs/class/System.Windows.Forms/WINELib/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..177a4f0
--- /dev/null
@@ -0,0 +1,58 @@
+using System.Reflection;\r
+using System.Runtime.CompilerServices;\r
+\r
+//\r
+// General Information about an assembly is controlled through the following \r
+// set of attributes. Change these attribute values to modify the information\r
+// associated with an assembly.\r
+//\r
+[assembly: AssemblyTitle("")]\r
+[assembly: AssemblyDescription("")]\r
+[assembly: AssemblyConfiguration("")]\r
+[assembly: AssemblyCompany("")]\r
+[assembly: AssemblyProduct("")]\r
+[assembly: AssemblyCopyright("")]\r
+[assembly: AssemblyTrademark("")]\r
+[assembly: AssemblyCulture("")]                \r
+\r
+//\r
+// Version information for an assembly consists of the following four values:\r
+//\r
+//      Major Version\r
+//      Minor Version \r
+//      Build Number\r
+//      Revision\r
+//\r
+// You can specify all the values or you can default the Revision and Build Numbers \r
+// by using the '*' as shown below:\r
+\r
+[assembly: AssemblyVersion("1.0.*")]\r
+\r
+//\r
+// In order to sign your assembly you must specify a key to use. Refer to the \r
+// Microsoft .NET Framework documentation for more information on assembly signing.\r
+//\r
+// Use the attributes below to control which key is used for signing. \r
+//\r
+// Notes: \r
+//   (*) If no key is specified, the assembly is not signed.\r
+//   (*) KeyName refers to a key that has been installed in the Crypto Service\r
+//       Provider (CSP) on your machine. KeyFile refers to a file which contains\r
+//       a key.\r
+//   (*) If the KeyFile and the KeyName values are both specified, the \r
+//       following processing occurs:\r
+//       (1) If the KeyName can be found in the CSP, that key is used.\r
+//       (2) If the KeyName does not exist and the KeyFile does exist, the key \r
+//           in the KeyFile is installed into the CSP and used.\r
+//   (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.\r
+//       When specifying the KeyFile, the location of the KeyFile should be\r
+//       relative to the project output directory which is\r
+//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is\r
+//       located in the project directory, you would specify the AssemblyKeyFile \r
+//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]\r
+//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework\r
+//       documentation for more information on this.\r
+//\r
+[assembly: AssemblyDelaySign(false)]\r
+[assembly: AssemblyKeyFile("")]\r
+[assembly: AssemblyKeyName("")]\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/BaseCollection.cs b/mcs/class/System.Windows.Forms/WINELib/BaseCollection.cs
new file mode 100644 (file)
index 0000000..ef6934c
--- /dev/null
@@ -0,0 +1,79 @@
+//\r
+// System.Windows.Forms.BaseCollection\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//     Dennis hayes (dennish@raytek.com)\r
+//\r
+// (C) Ximian, Inc., 2002\r
+//\r
+\r
+using System;\r
+using System.Collections;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Provides the base functionality for creating data-related collections in the System.Windows.Forms namespace.\r
+       /// ToDo note:\r
+       ///  - Synchronization is not implemented\r
+       ///  - MarshalByRefObject members not stubbed out\r
+       /// </summary>\r
+       \r
+       [MonoTODO]\r
+       public class BaseCollection : MarshalByRefObject, ICollection, IEnumerable {\r
+\r
+               ArrayList list;\r
+               \r
+               \r
+               // --- Constructor ---\r
+               public BaseCollection()\r
+               {\r
+                       this.list = null;\r
+               }\r
+\r
+\r
+\r
+               // --- public and protected Properties ---\r
+               //virtual \r
+               int ICollection.Count {\r
+                       get {\r
+                               return list.Count; \r
+                       }\r
+               }\r
+               \r
+               public bool IsReadOnly {\r
+                       //always false as per spec.\r
+                       get { return false; }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public bool IsSynchronized {\r
+                       //always false as per spec.\r
+                       get { return false; }\r
+               }\r
+               \r
+               protected virtual ArrayList List {\r
+                       get { \r
+                               return list; \r
+                       }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public object SyncRoot {\r
+                       get { return this; }\r
+               }\r
+               \r
+               // --- public Methods ---\r
+               public void CopyTo (Array ar, int index) \r
+               {\r
+                       list.CopyTo(ar, index);\r
+               }\r
+               \r
+               public IEnumerator GetEnumerator() \r
+               {\r
+                       return list.GetEnumerator();\r
+               }\r
+               \r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/Binding.cs b/mcs/class/System.Windows.Forms/WINELib/Binding.cs
new file mode 100644 (file)
index 0000000..1ffad0d
--- /dev/null
@@ -0,0 +1,101 @@
+//\r
+// System.Windows.Forms.Binding.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//     Dennis hayes (dennish@raytek.com)\r
+//\r
+// (C) 2002 Ximian, Inc\r
+//\r
+\r
+namespace System.Windows.Forms {\r
+       public class Binding {\r
+\r
+               /// <summary>\r
+               /// Represents the simple binding between the property value of an object and the property value of a control.\r
+               ///\r
+               /// ToDo note:\r
+               ///  - Nothing is implemented\r
+               ///  - MarshalByRefObject members not stubbed out\r
+               /// </summary>\r
+\r
+               // --- Constructor\r
+               //\r
+               public Binding(string propertyName,object dataSource,string dataMember)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+\r
+               //\r
+               // --- Public Properties\r
+               //\r
+               [MonoTODO]\r
+               public BindingManagerBase BindingManagerBase  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public BindingMemberInfo BindingMemberInfo  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public Control Control  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public object DataSource  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public bool IsBinding  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public string PropertyName  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               //\r
+               // --- Public Methods\r
+               //\r
+               [MonoTODO]\r
+               protected virtual void OnFormat(ConvertEventArgs cevent)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               [MonoTODO]\r
+               protected virtual void OnParse(ConvertEventArgs cevent)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               //\r
+               // --- Public Events\r
+               //\r
+               [MonoTODO]\r
+               public event ConvertEventHandler Format {\r
+\r
+                       add { throw new NotImplementedException (); }\r
+                       remove { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public event ConvertEventHandler Parse {\r
+\r
+                       add { throw new NotImplementedException (); }\r
+                       remove { throw new NotImplementedException (); }\r
+               }\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/BindingContext.cs b/mcs/class/System.Windows.Forms/WINELib/BindingContext.cs
new file mode 100644 (file)
index 0000000..f6eeb6b
--- /dev/null
@@ -0,0 +1,88 @@
+//\r
+// System.Windows.Forms.BindingContext.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//     Dennis hayes (dennish@raytek.com)\r
+//\r
+// (C) 2002 Ximian, Inc\r
+//\r
+using System.ComponentModel;\r
+namespace System.Windows.Forms {\r
+\r
+       public class BindingContext {\r
+\r
+               /// <summary>\r
+               /// Manages the collection of BindingManagerBase objects for any object that inherits from the Control class.\r
+               /// </summary>\r
+\r
+               //private \r
+               // --- Constructor\r
+               [MonoTODO]\r
+               public BindingContext ()\r
+               {\r
+                       //\r
+               }\r
+\r
+\r
+               //\r
+               // --- Public Properties\r
+               // Following properties not stubbed out, because they are only supporting internal .NET Framework infrastructure.\r
+               // - bool IsReadOnly {get;}\r
+               [MonoTODO]\r
+               public BindingManagerBase this[object dataSource]  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               [MonoTODO]\r
+               public BindingManagerBase this[object dataSource,string dataMember]  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+\r
+               //\r
+               // --- Methods\r
+               // Following methods not stubbed out, because they are only supporting internal .NET Framework infrastructure.\r
+               // - protected virtual void AddCore(object dataSource,BindingManagerBase listManager)\r
+               // - protected virtual void ClearCore()\r
+               // - void ICollection.CopyTo(Array ar,int index)\r
+               // - IEnumerator IEnumerable.GetEnumerator()\r
+               // - protected virtual void OnCollectionChanged(CollectionChangeEventArgs ccevent)\r
+               // - protected virtual void RemoveCore(object dataSource)\r
+               [MonoTODO]\r
+               protected internal void Add(object dataSource, BindingManagerBase listManager)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected internal void Clear()\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public bool Contains(object dataSource)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               public bool Contains(object dataSource,string dataMember)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected internal void Remove(object dataSource)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               //\r
+               // --- Public Events\r
+               // Following events not stubbed out, because they are only supporting internal .NET Framework infrastructure\r
+               public event CollectionChangeEventHandler CollectionChanged;\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/BindingManagerBase.cs b/mcs/class/System.Windows.Forms/WINELib/BindingManagerBase.cs
new file mode 100644 (file)
index 0000000..ec2c968
--- /dev/null
@@ -0,0 +1,112 @@
+//\r
+// System.Windows.Forms.BindingManagerBase.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//     Dennis hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc\r
+//\r
+\r
+using System.ComponentModel;\r
+using System.Collections;\r
+\r
+namespace System.Windows.Forms {\r
+       //Compact Framework. Everything execpt suspend and resume binding needed for CE.\r
+       [MonoTODO]\r
+       public abstract class BindingManagerBase {\r
+\r
+\r
+               /// <summary>\r
+               /// Manages all Binding objects that are bound to the same data source and data member. This class is abstract.\r
+               /// </summary>\r
+\r
+               // --- Constructor\r
+               [MonoTODO]\r
+               public BindingManagerBase ()\r
+               {\r
+               }\r
+               \r
+               //\r
+               // --- Fields\r
+               protected EventHandler onCurrentChangedHandler;\r
+               protected EventHandler onPositionChangedHandler;\r
+\r
+\r
+               //\r
+               // --- Public Properties\r
+               [MonoTODO]\r
+               public BindingsCollection Bindings  {\r
+\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               public abstract int Count  {\r
+\r
+                       get;\r
+               }\r
+\r
+               public abstract object Current  {\r
+\r
+                       get;\r
+               }\r
+\r
+               public abstract int Position  {\r
+\r
+                       get;\r
+                       set;\r
+               }\r
+\r
+               //\r
+               // --- Methods\r
+               public abstract void AddNew();\r
+\r
+               public abstract void CancelCurrentEdit();\r
+\r
+               public abstract void EndCurrentEdit();\r
+\r
+               public abstract PropertyDescriptorCollection GetItemProperties ();\r
+\r
+               [MonoTODO]\r
+               protected internal virtual PropertyDescriptorCollection GetItemProperties (ArrayList dataSources,ArrayList listAccessors)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected virtual PropertyDescriptorCollection GetItemProperties (Type listType,int offset,ArrayList dataSources,ArrayList listAccessors)\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               //protected abstract string GetListName(ArrayList listAccessors);\r
+               protected internal abstract string GetListName(ArrayList listAccessors);\r
+\r
+               protected internal abstract void OnCurrentChanged(EventArgs e); \r
+\r
+               [MonoTODO]\r
+               protected void PullData()\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               [MonoTODO]\r
+               protected void PushData()\r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+\r
+               public abstract void RemoveAt(int index);\r
+\r
+               public abstract void ResumeBinding();\r
+               public abstract void SuspendBinding();\r
+\r
+               protected abstract void UpdateIsBinding();\r
+\r
+\r
+               //\r
+               // --- Public Events\r
+\r
+               public event EventHandler CurrentChanged;\r
+               public event EventHandler PositionChanged;\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/BindingMemberInfo.cs b/mcs/class/System.Windows.Forms/WINELib/BindingMemberInfo.cs
new file mode 100644 (file)
index 0000000..f4268a7
--- /dev/null
@@ -0,0 +1,149 @@
+//\r
+// System.Drawing.BindingMemberInfo.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+//\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+//TODO:\r
+// 1) Add real values in constructor.\r
+// 2) Verify nocheck needed in GetHashCode.\r
+// 3) Verify GetHashCode returns decent and valid hash.\r
+\r
+\r
+using System;\r
+using System.Windows.Forms;\r
+namespace System.Windows.Forms {\r
+       \r
+       public struct BindingMemberInfo { \r
+\r
+               private string bindingfield;\r
+               private string bindingpath;\r
+               private string bindingmember;\r
+\r
+               // -----------------------\r
+               // Public Constructor\r
+               // -----------------------\r
+\r
+               /// <summary>\r
+               /// \r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///\r
+               /// </remarks>\r
+               \r
+               public BindingMemberInfo (string dataMember)\r
+               {\r
+                       //TODO: Initilize with real values.\r
+                       bindingmember =  ("");\r
+                       bindingfield =  ("");\r
+                       bindingpath =  ("");\r
+               }\r
+\r
+               // -----------------------\r
+               // Public Shared Members\r
+               // -----------------------\r
+\r
+               /// <summary>\r
+               ///     Equality Operator\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Compares two BindingMemberInfo objects. The return value is\r
+               ///     based on the equivalence of the BindingMember, BindingPath,\r
+               ///     and BindingMember  properties of the two objects.\r
+               /// </remarks>\r
+\r
+               public static bool operator == (BindingMemberInfo bmi_a, \r
+                       BindingMemberInfo bmi_b) {\r
+\r
+                       return ((bmi_a.bindingfield == bmi_b.bindingfield) &&\r
+                               (bmi_a.bindingpath == bmi_b.bindingpath)&&\r
+                               (bmi_a.bindingmember == bmi_b.bindingmember));\r
+               }\r
+               \r
+               /// <summary>\r
+               ///     Inequality Operator\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Compares two BindingMemberInfo objects. The return value is\r
+               ///     based on the equivalence of the BindingMember, BindingPath,\r
+               ///     and BindingMember  properties of the two objects.\r
+               /// </remarks>\r
+               public static bool operator != (BindingMemberInfo bmi_a, \r
+                       BindingMemberInfo bmi_b) {\r
+                       return ((bmi_a.bindingfield != bmi_b.bindingfield) ||\r
+                               (bmi_a.bindingpath != bmi_b.bindingpath)||\r
+                               (bmi_a.bindingmember != bmi_b.bindingmember));\r
+               }\r
+               \r
+               // -----------------------\r
+               // Public Instance Members\r
+               // -----------------------\r
+\r
+\r
+               public string BindingField {\r
+                       get{\r
+                               return bindingfield;\r
+                       }\r
+               }\r
+\r
+               public string BindingPath {\r
+                       get{\r
+                               return bindingpath;\r
+                       }\r
+               }\r
+\r
+               public string BindingMember {\r
+                       get{\r
+                               return bindingmember;\r
+                       }\r
+               }\r
+               /// <summary>\r
+               ///     Equals Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Checks equivalence of this BindingMemberInfo and another object.\r
+               /// </remarks>\r
+               \r
+               public override bool Equals (object obj)\r
+               {\r
+                       if (!(obj is BindingMemberInfo))\r
+                               return false;\r
+\r
+                       return (this == (BindingMemberInfo) obj);\r
+               }\r
+\r
+               /// <summary>\r
+               ///     GetHashCode Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Calculates a hashing value.\r
+               /// </remarks>\r
+               \r
+               public override int GetHashCode ()\r
+               {\r
+                       unchecked{// MONOTODO: This should not be checked, remove unchecked, if redundant.\r
+                               return (int)( bindingfield.GetHashCode() ^ bindingmember.GetHashCode() ^ bindingpath.GetHashCode());\r
+                       }\r
+               }\r
+\r
+               /// <summary>\r
+               ///     ToString Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Formats the BindingMemberInfo as a string.\r
+               /// </remarks>\r
+               \r
+               public override string ToString ()\r
+               {\r
+                       return String.Format ("[{0},{1},{2}]", bindingpath, bindingfield, bindingmember);\r
+               }\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/BindingsCollection.cs b/mcs/class/System.Windows.Forms/WINELib/BindingsCollection.cs
new file mode 100644 (file)
index 0000000..54dfcea
--- /dev/null
@@ -0,0 +1,113 @@
+//\r
+// System.Windows.Forms.BindingsCollection.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//   Dennis Hayes (dennish@Raytek.com)\r
+//\r
+// (C) 2002 Ximian, Inc\r
+//\r
+\r
+using System.Collections;\r
+using System.ComponentModel;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Represents a collection of Binding objects for a control.\r
+       ///\r
+       /// </summary>\r
+       \r
+       [MonoTODO]\r
+       public class BindingsCollection : BaseCollection {\r
+\r
+               #region Constructors\r
+               protected internal BindingsCollection () \r
+               {\r
+               }\r
+               #endregion\r
+\r
+               // --- public and protected Properties ---\r
+               public virtual int Count {\r
+                       get {\r
+                               return base.Count;\r
+                       }\r
+               }\r
+               \r
+               public Binding this[int index] {\r
+                       get {\r
+                               return (Binding)(base.List[index]);\r
+                       }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               protected override ArrayList List {\r
+                       get {\r
+                               return base.List;\r
+ }\r
+               }\r
+               \r
+               // --- public Methods ---\r
+               // following internal methods are (will) not be stubbed out:\r
+               // - protected virtual void AddCore(Binding dataBinding);\r
+               // - protected virtual void ClearCore();\r
+               // - protected virtual void RemoveCore(Binding dataBinding);\r
+               // \r
+               // CollectionChanged event:\r
+               // Though it was not documented, here methods Add and Remove \r
+               // cause the CollectionChanged event to occur, similarily as Clear.\r
+               // Would be nice if someone checked the exact event behavior of .NET implementation.\r
+               \r
+               protected internal void Add(Binding binding) \r
+               {\r
+                       base.List.Add(binding);\r
+                       OnCollectionChanged(new CollectionChangeEventArgs(\r
+                               CollectionChangeAction.Add,\r
+                               base.List\r
+                       ));\r
+               }\r
+               \r
+               protected internal void Clear() \r
+               {\r
+                       base.List.Clear();\r
+                       OnCollectionChanged(new CollectionChangeEventArgs(\r
+                               CollectionChangeAction.Refresh,\r
+                               base.List\r
+                       ));\r
+               }\r
+\r
+               protected virtual void OnCollectionChanged(CollectionChangeEventArgs ccevent) \r
+               {\r
+                       if (CollectionChanged != null)\r
+                               CollectionChanged(this, ccevent);\r
+               }\r
+\r
+               protected internal void Remove(Binding binding) \r
+               {\r
+                       base.List.Remove(binding);\r
+                       OnCollectionChanged(new CollectionChangeEventArgs(\r
+                               CollectionChangeAction.Remove,\r
+                               base.List\r
+                       ));\r
+               }\r
+\r
+               protected internal void RemoveAt(int index) \r
+               {\r
+                       base.List.RemoveAt(index);\r
+                       OnCollectionChanged(new CollectionChangeEventArgs(\r
+                               CollectionChangeAction.Remove,\r
+                               base.List\r
+                       ));\r
+               }\r
+               \r
+               protected internal bool ShouldSerializeMyAll() \r
+               {\r
+                       throw new NotImplementedException ();\r
+                       if (this.Count>0) return true;\r
+                       else return false;\r
+               }\r
+               \r
+               // public events\r
+               public event CollectionChangeEventHandler CollectionChanged;\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/BorderStyle.cs b/mcs/class/System.Windows.Forms/WINELib/BorderStyle.cs
new file mode 100644 (file)
index 0000000..ae105c6
--- /dev/null
@@ -0,0 +1,20 @@
+//\r
+// System.Windows.Forms.BorderStyle.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// </summary>\r
+       public enum BorderStyle {\r
+               Fixed3D = 2,\r
+               FixedSingle = 1,\r
+               None = 0\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/BoundsSpecified.cs b/mcs/class/System.Windows.Forms/WINELib/BoundsSpecified.cs
new file mode 100644 (file)
index 0000000..7975529
--- /dev/null
@@ -0,0 +1,25 @@
+//\r
+// System.Windows.Forms.BoundsSpecified.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// </summary>\r
+       public enum BoundsSpecified {\r
+               All = 15,\r
+               Height = 8,\r
+               Location = 3,\r
+               None = 0,\r
+               Size = 12,\r
+               Width = 4,\r
+               X = 1,\r
+               Y = 2\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/CheckState.cs b/mcs/class/System.Windows.Forms/WINELib/CheckState.cs
new file mode 100644 (file)
index 0000000..9446479
--- /dev/null
@@ -0,0 +1,27 @@
+//\r
+// System.Windows.Forms.CheckState.cs\r
+//\r
+// Author:\r
+//   Jaak Simm (jaaksimm@firm.ee)\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+\r
+       /// <summary>\r
+  /// Specifies the state of a control, such as a check box, \r
+  /// that can be checked, unchecked, or set to an indeterminate state.\r
+       /// </summary>\r
+       //[Serializable]\r
+       public enum CheckState {\r
+\r
+               //Values were verified with enumcheck.\r
+               Unchecked = 0,\r
+               Checked = 1,\r
+               Indeterminate = 2,\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ColorDepth.cs b/mcs/class/System.Windows.Forms/WINELib/ColorDepth.cs
new file mode 100644 (file)
index 0000000..9ee4992
--- /dev/null
@@ -0,0 +1,22 @@
+//\r
+// System.Windows.Forms.ColorDepth.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// </summary>\r
+       public enum ColorDepth {\r
+               Depth16Bit = 16,\r
+               Depth24Bit = 24,\r
+               Depth32Bit = 32,\r
+               Depth4Bit = 4,\r
+               Depth8Bit = 8\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ColumnClickEventArgs.cs b/mcs/class/System.Windows.Forms/WINELib/ColumnClickEventArgs.cs
new file mode 100644 (file)
index 0000000..1adcdbd
--- /dev/null
@@ -0,0 +1,103 @@
+//\r
+// System.Windows.Forms.ColumnClickEventArgs.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//   Implmented by Dennis Hayes <dennish@raytek.com>\r
+//\r
+// (C) Ximian, Inc., 2002\r
+//\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Provides data for the ColumnClick event.\r
+       /// </summary>\r
+       public class ColumnClickEventArgs : EventArgs {\r
+\r
+               private int column;\r
+               /// --- Constructor ---\r
+               public ColumnClickEventArgs(int Column) : base() \r
+               {\r
+                       column = Column;\r
+               }\r
+               \r
+               \r
+               /// --- Properties ---\r
+               public int Column {\r
+                       get { \r
+                               return column;\r
+                       }\r
+               }\r
+\r
+               /// <summary>\r
+               ///     Equality Operator\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Compares two ColumnClickEventArgs objects. The return value is\r
+               ///     based on the equivalence of the Column properties \r
+               ///     of the two ColumnClickEventArgs.\r
+               /// </remarks>\r
+\r
+               public static bool operator == (ColumnClickEventArgs ColumnClickEventArgsA , ColumnClickEventArgs ColumnClickEventArgsB) \r
+               {\r
+                       return ColumnClickEventArgsA.column == ColumnClickEventArgsB.column;\r
+               }\r
+               \r
+               /// <summary>\r
+               ///     Inequality Operator\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Compares two ColumnClickEventArgs objects. The return value is\r
+               ///     based on the equivalence of the Column properties \r
+               ///     of the two ColumnClickEventArgs.\r
+               /// </remarks>\r
+\r
+               public static bool operator != (ColumnClickEventArgs ColumnClickEventArgsA, ColumnClickEventArgs ColumnClickEventArgsB) \r
+               {\r
+                       return ColumnClickEventArgsA.column != ColumnClickEventArgsB.column;\r
+               }\r
+               /// <summary>\r
+               ///     Equals Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Checks equivalence of this ColumnClickEventArgs and another object.\r
+               /// </remarks>\r
+               \r
+               public override bool Equals (object obj) \r
+               {\r
+                       if (!(obj is ColumnClickEventArgs))return false;\r
+                       return (this == (ColumnClickEventArgs) obj);\r
+               }\r
+\r
+\r
+               /// <summary>\r
+               ///     GetHashCode Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Calculates a hashing value.\r
+               /// </remarks>\r
+               // If class has only one proprity, just return the hash code of the proprity.\r
+               public override int GetHashCode () \r
+               {\r
+                       return column.GetHashCode();\r
+               }\r
+\r
+               /// <summary>\r
+               ///     ToString Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Formats the ColumnClickEventArgs as a string.\r
+               /// </remarks>\r
+               \r
+               public override string ToString () \r
+               {\r
+                       return String.Format ("[{0}]", column);\r
+               }\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ColumnClickEventHandler.cs b/mcs/class/System.Windows.Forms/WINELib/ColumnClickEventHandler.cs
new file mode 100644 (file)
index 0000000..b3f1563
--- /dev/null
@@ -0,0 +1,15 @@
+//\r
+// System.Windows.Forms.ColumnClickEventHandler.cs\r
+//\r
+// Author:\r
+//   Dennis hayes (dennish@raytek.com)\r
+//\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+namespace System.Windows.Forms {\r
+       //[Serializable]\r
+       public delegate void ColumnClickEventHandler(\r
+       object sender,\r
+       ColumnClickEventArgs e\r
+       );\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ComVisible.cs b/mcs/class/System.Windows.Forms/WINELib/ComVisible.cs
new file mode 100644 (file)
index 0000000..5b55ebf
--- /dev/null
@@ -0,0 +1,25 @@
+//\r
+// System.Runtime.InteropServices.ComVisible.cs\r
+//\r
+// Author:\r
+//   Nick Drochak (ndrochak@gol.com)\r
+//\r
+// (C) 2002 Nick Drochak\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       [AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class\r
+               | AttributeTargets.Struct | AttributeTargets.Enum |\r
+               AttributeTargets.Method | AttributeTargets.Property |\r
+               AttributeTargets.Field | AttributeTargets.Interface |\r
+               AttributeTargets.Delegate)]\r
+       public sealed class ComVisibleAttribute : Attribute  {\r
+\r
+               private bool Visible = false;\r
+               public ComVisibleAttribute(bool value) {Visible = value;}\r
+               public bool Value { get {return Visible;} }\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ContentsResizedEventArgs.cs b/mcs/class/System.Windows.Forms/WINELib/ContentsResizedEventArgs.cs
new file mode 100644 (file)
index 0000000..c439f82
--- /dev/null
@@ -0,0 +1,122 @@
+//\r
+// System.Windows.Forms.ColumnClickEventArgs.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//     Partially completed by Dennis Hayes (dennish@raytek.com)\r
+//  Gianandrea Terzi (gianandrea.terzi@lario.com)\r
+//\r
+// (C) Ximian, Inc., 2002\r
+//\r
+\r
+using System.Drawing;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Provides data for the ContentsResized event.\r
+       /// </summary>\r
+\r
+       public class ContentsResizedEventArgs : EventArgs {\r
+\r
+               #region Fields\r
+               private Rectangle newrectangle;\r
+               #endregion\r
+\r
+               /// --- Constructor ---\r
+               public ContentsResizedEventArgs(Rectangle newRectangle) : base() \r
+               {\r
+                       newrectangle = newRectangle;\r
+               }\r
+               \r
+               #region Public Propeties\r
+               public Rectangle NewRectangle \r
+               {\r
+                       get {\r
+                               return newrectangle;\r
+                       }\r
+               }\r
+               #endregion\r
+\r
+               #region Public Methods\r
+\r
+               /// <summary>\r
+               ///     Equality Operator\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Compares two ContentsResizedEventArgs objects.\r
+               ///     The return value is based on the equivalence of\r
+               ///     newRectangle Property\r
+               ///     of the two ContentsResizedEventArgs.\r
+               /// </remarks>\r
+               public static bool operator == (ContentsResizedEventArgs ContentsResizedEventArgsA, ContentsResizedEventArgs ContentsResizedEventArgsB) \r
+               {\r
+                       return (ContentsResizedEventArgsA.NewRectangle == ContentsResizedEventArgsB.NewRectangle);\r
+\r
+               }\r
+               \r
+               /// <summary>\r
+               ///     Inequality Operator\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Compares two ContentsResizedEventArgs objects.\r
+               ///     The return value is based on the equivalence of\r
+               ///     newRectangle Property\r
+               ///     of the two ContentsResizedEventArgs.\r
+               /// </remarks>\r
+               public static bool operator != (ContentsResizedEventArgs ContentsResizedEventArgsA, ContentsResizedEventArgs ContentsResizedEventArgsB) \r
+               {\r
+                       return (ContentsResizedEventArgsA.NewRectangle != ContentsResizedEventArgsB.NewRectangle);\r
+\r
+               }\r
+\r
+               /// <summary>\r
+               ///     Equals Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Checks equivalence of this\r
+               ///     ContentsResizedEventArgs and another\r
+               ///     object.\r
+               /// </remarks>\r
+               public override bool Equals (object obj) \r
+               {\r
+                       if (!(obj is ContentsResizedEventArgs))return false;\r
+                       return (this == (ContentsResizedEventArgs) obj);\r
+               }\r
+\r
+               /// <summary>\r
+               ///     GetHashCode Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Calculates a hashing value.\r
+               /// </remarks>\r
+               [MonoTODO]\r
+               public override int GetHashCode () \r
+               {\r
+                       //FIXME: add class specific stuff;\r
+                       return base.GetHashCode();\r
+               }\r
+\r
+               /// <summary>\r
+               ///     ToString Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Formats the object as a string.\r
+               /// </remarks>\r
+               [MonoTODO]\r
+               public override string ToString () \r
+               {\r
+                       //FIXME: add class specific stuff;\r
+                       return base.ToString() + " ContentsResizedEventArgs";\r
+               }\r
+\r
+\r
+               #endregion\r
+\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ContentsResizedEventHandler.cs b/mcs/class/System.Windows.Forms/WINELib/ContentsResizedEventHandler.cs
new file mode 100644 (file)
index 0000000..ed43ff4
--- /dev/null
@@ -0,0 +1,16 @@
+//\r
+// System.Windows.Forms.ContentsResizedEventHandler.cs\r
+//\r
+// Author:\r
+//   Dennis hayes (dennish@raytek.com)\r
+//\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+namespace System.Windows.Forms {\r
+       //[Serializable]\r
+       public delegate void ContentsResizedEventHandler(\r
+       object sender,\r
+       ContentsResizedEventArgs e\r
+       );\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ContextMenu.cs b/mcs/class/System.Windows.Forms/WINELib/ContextMenu.cs
new file mode 100644 (file)
index 0000000..ac06acc
--- /dev/null
@@ -0,0 +1,82 @@
+//\r
+// System.Windows.Forms.ContextMenu.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//   Dennis Hayes (dennish@Raytek.com)\r
+//\r
+// (C) Ximian, Inc., 2002\r
+//\r
+\r
+//using System.ComponentModel;\r
+//using System.Collections;\r
+using System.Drawing;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Represents a Windows combo box control.\r
+       /// ToDo note:\r
+       ///  - nothing is implemented\r
+       /// </summary>\r
+\r
+       [MonoTODO]\r
+       public class ContextMenu : Menu {\r
+\r
+               // private fields\r
+               RightToLeft rightToLeft;\r
+               \r
+               // --- Constructor ---\r
+               [MonoTODO]\r
+               public ContextMenu() //: base(null) \r
+               {\r
+                       rightToLeft = RightToLeft.Inherit;\r
+               }\r
+\r
+               [MonoTODO]\r
+               public ContextMenu(MenuItem[] menuItems) //: base(menuItems)//menu does not have public constructor. Is this a gtk menu?\r
+               {\r
+               }\r
+               \r
+               \r
+               \r
+               \r
+               // --- Properties ---\r
+               public virtual RightToLeft RightToLeft {\r
+                       get { return rightToLeft; }\r
+                       set { rightToLeft=value; }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public Control SourceControl {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               \r
+               \r
+               \r
+               /// --- Methods ---\r
+               /// internal .NET framework supporting methods, not stubbed out:\r
+               /// - protected internal virtual void OnPopup(EventArgs e);\r
+               [MonoTODO]\r
+               public void Show(Control control,Point pos) \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               \r
+               \r
+               \r
+               /// events\r
+               [MonoTODO]\r
+               public event EventHandler Popup {\r
+                       add {\r
+                               throw new NotImplementedException ();\r
+                       }\r
+                       remove {\r
+                               throw new NotImplementedException ();\r
+                       }\r
+               }\r
+\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ControlBindingsCollection.cs b/mcs/class/System.Windows.Forms/WINELib/ControlBindingsCollection.cs
new file mode 100644 (file)
index 0000000..1e5c962
--- /dev/null
@@ -0,0 +1,85 @@
+//\r
+// System.Windows.Forms.ControlBindingsCollection.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//   Dennis Hayes (dennish@Raytek.com)\r
+//\r
+// (C) 2002 Ximian, Inc\r
+//\r
+\r
+using System.Collections;\r
+using System.ComponentModel;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Represents the collection of data bindings for a control.\r
+       ///\r
+       /// ToDo note:\r
+       ///  - no methods are implemented\r
+       /// </summary>\r
+       \r
+       [MonoTODO]\r
+       public class ControlBindingsCollection : BindingsCollection {\r
+\r
+               #region Constructors\r
+               protected internal ControlBindingsCollection() : base () \r
+               {\r
+               }\r
+               #endregion\r
+               \r
+               \r
+               #region Properties\r
+               [MonoTODO]\r
+               public Control Control {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public Binding this[string propertyName] {\r
+                       get { throw new NotImplementedException (); }\r
+               }\r
+               #endregion\r
+               \r
+               \r
+               \r
+               \r
+               #region Methods\r
+               /// following methods were not stubbed out, because they only support .NET framework:\r
+               /// - protected override void AddCore(Binding dataBinding);\r
+               /// - protected override void ClearCore();\r
+               /// - protected override void RemoveCore(Binding dataBinding);\r
+               [MonoTODO]\r
+               public new void Add(Binding binding) \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public Binding Add(string propertyName,object dataSource,string dataMember) \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public new void Clear() \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public new void Remove(Binding binding) \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               \r
+               [MonoTODO]\r
+               public new void RemoveAt(int index) \r
+               {\r
+                       throw new NotImplementedException ();\r
+               }\r
+               #endregion\r
+               \r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ControlEventArgs.cs b/mcs/class/System.Windows.Forms/WINELib/ControlEventArgs.cs
new file mode 100644 (file)
index 0000000..7c8804b
--- /dev/null
@@ -0,0 +1,121 @@
+//\r
+// System.Windows.Forms.ControlEventArgs.cs\r
+//\r
+// Author:\r
+//   stubbed out by Jaak Simm (jaaksimm@firm.ee)\r
+//       implemented for Gtk+ by Rachel Hestilow (hestilow@ximian.com)\r
+//   Dennis Hayes (dennish@Raytek.com)\r
+//   Gianandrea Terzi (gianandrea.terzi@lario.com)\r
+\r
+// (C) Ximian, Inc., 2002\r
+\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// Complete.\r
+       /// </summary>\r
+\r
+       public class ControlEventArgs : EventArgs {\r
+\r
+               #region Fields\r
+               Control control;\r
+               #endregion\r
+\r
+               public ControlEventArgs(Control control) \r
+               {\r
+                       this.control = control;\r
+               }\r
+               \r
+               #region Public Properties\r
+               public Control Control \r
+               {\r
+                       get \r
+                               { \r
+                                       return control; \r
+                               }\r
+               }\r
+               #endregion\r
+\r
+               #region Public Methods\r
+\r
+               /// <summary>\r
+               ///     Equality Operator\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Compares two ControlEventArgs objects.\r
+               ///     The return value is based on the equivalence of\r
+               ///     control Property\r
+               ///     of the two ControlEventArgs.\r
+               /// </remarks>\r
+               public static bool operator == (ControlEventArgs ControlEventArgsA, ControlEventArgs ControlEventArgsB) \r
+               {\r
+                       return (ControlEventArgsA.Control == ControlEventArgsB.Control);\r
+\r
+               }\r
+               \r
+               /// <summary>\r
+               ///     Inequality Operator\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Compares two ControlEventArgs objects.\r
+               ///     The return value is based on the equivalence of\r
+               ///     control Property\r
+               ///     of the two ControlEventArgs.\r
+               /// </remarks>\r
+               public static bool operator != (ControlEventArgs ControlEventArgsA, ControlEventArgs ControlEventArgsB) \r
+               {\r
+                       return (ControlEventArgsA.Control != ControlEventArgsB.Control);\r
+\r
+               }\r
+\r
+               /// <summary>\r
+               ///     Equals Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Checks equivalence of this\r
+               ///     ControlEventArgs and another\r
+               ///     object.\r
+               /// </remarks>\r
+               public override bool Equals (object obj) \r
+               {\r
+                       if (!(obj is ControlEventArgs))return false;\r
+                       return (this == (ControlEventArgs) obj);\r
+               }\r
+\r
+               /// <summary>\r
+               ///     GetHashCode Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Calculates a hashing value.\r
+               /// </remarks>\r
+               [MonoTODO]\r
+               public override int GetHashCode () \r
+               {\r
+                       //FIXME: add class specific stuff;\r
+                       return base.GetHashCode();\r
+               }\r
+\r
+               /// <summary>\r
+               ///     ToString Method\r
+               /// </summary>\r
+               ///\r
+               /// <remarks>\r
+               ///     Formats the object as a string.\r
+               /// </remarks>\r
+               [MonoTODO]\r
+               public override string ToString () \r
+               {\r
+                       //FIXME: add class specific stuff;\r
+                       return base.ToString() + " ControlEventArgs";\r
+               }\r
+\r
+\r
+               #endregion\r
+\r
+       }\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ControlEventHandler.cs b/mcs/class/System.Windows.Forms/WINELib/ControlEventHandler.cs
new file mode 100644 (file)
index 0000000..e478b17
--- /dev/null
@@ -0,0 +1,16 @@
+//\r
+// System.Windows.Forms.ControlEventHandler.cs\r
+//\r
+// Author:\r
+//   Dennis hayes (dennish@raytek.com)\r
+//\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+namespace System.Windows.Forms {\r
+       //[Serializable]\r
+       public delegate void ControlEventHandler (\r
+       object sender,\r
+       ControlEventArgs e\r
+       );\r
+}\r
diff --git a/mcs/class/System.Windows.Forms/WINELib/ControlStyles.cs b/mcs/class/System.Windows.Forms/WINELib/ControlStyles.cs
new file mode 100644 (file)
index 0000000..bddb6c4
--- /dev/null
@@ -0,0 +1,32 @@
+//\r
+// System.Windows.Forms.ControlStyles.cs\r
+//\r
+// Author:\r
+//   Dennis Hayes (dennish@raytek.com)\r
+// (C) 2002 Ximian, Inc.  http://www.ximian.com\r
+//\r
+\r
+using System;\r
+\r
+namespace System.Windows.Forms {\r
+\r
+       /// <summary>\r
+       /// </summary>\r
+       public enum ControlStyles {\r
+               AllPaintingInWmPaint = 8192,\r
+               CacheText = 16384,\r
+               ContainerControl = 1,\r
+               DoubleBuffer = 65536,\r
+               EnableNotifyMessage = 32768,\r
+               FixedHeight = 64,\r
+               FixedWidth = 32,\r
+               Opaque = 4,\r
+               ResizeRedraw = 16,\r
+               Selectable = 512,\r
+               StandardClick = 256,\r
+               StandardDoubleClick = 4096,\r
+               SupportsTransparentBackColor = 2045,\r
+               UserMouse = 1024,\r
+               UserPaint = 2\r
+       }\r
+}\r
index 5dbbd3181df4f985e74c46bb58b1bc71ad9c1ade..38cf0dceda6253c01a51b9564c8a1fdaa87d40d0 100644 (file)
@@ -1,30 +1,3 @@
-  2002-10-18  DennisHayes <dennish@raytek.com>\r
-       * Application.cs\r
-       * Button.cs\r
-       * ButtonBase.cs\r
-       * changelog\r
-       * ContainerControl.cs\r
-       * Control.cs\r
-       * DrawItemEventArgs.cs\r
-       * DrawItemEventHandler.cs\r
-       * Font.cs\r
-       * Form.cs\r
-       * IAccessible.cs\r
-       * IContainerControl.cs\r
-       * Label.cs\r
-       * MenuItem.cs\r
-       * MessageBox.cs\r
-       * NativeWindow.cs\r
-       * ScrollableControl.cs\r
-       * Win32.cs\r
-\r
-       * Added some implmentation. Uncommented some stuff. \r
-       * About to add files to implment stuff uncommented.\r
-\r
-\r
-  2002-10-19  John Sohn <jsohn@columbus.rr.com>\r
-       * makefile: removed hard coded path to libmono\r
-\r
   2002-10-18  DennisHayes <dennish@raytek.com>\r
   \r
        * Application.cs\r