Some sample code
authorMiguel de Icaza <miguel@gnome.org>
Sun, 5 May 2002 23:21:02 +0000 (23:21 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Sun, 5 May 2002 23:21:02 +0000 (23:21 -0000)
svn path=/trunk/mcs/; revision=4323

mcs/class/System.Windows.Forms/Gtk/Application.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/Gtk/ContainerControl.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/Gtk/Control.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/Gtk/Form.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/Gtk/ScrollableControl.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/Gtk/demo.cs [new file with mode: 0644]
mcs/class/System.Windows.Forms/Gtk/makefile [new file with mode: 0644]

diff --git a/mcs/class/System.Windows.Forms/Gtk/Application.cs b/mcs/class/System.Windows.Forms/Gtk/Application.cs
new file mode 100644 (file)
index 0000000..3e6f005
--- /dev/null
@@ -0,0 +1,24 @@
+//
+// System.Windows.Forms.Application
+//
+// Author:
+//   Miguel de Icaza (miguel@ximian.com)
+//
+// (C) 2002 Ximian, Inc
+//
+
+using System;
+using System.Drawing;
+using Gtk;
+using GtkSharp;
+using System.ComponentModel;
+
+namespace System.Windows.Forms {
+
+       public sealed class Application {
+               public static void Run ()
+               {
+                       Gtk.Application.Run ();
+               }
+       }
+}
diff --git a/mcs/class/System.Windows.Forms/Gtk/ContainerControl.cs b/mcs/class/System.Windows.Forms/Gtk/ContainerControl.cs
new file mode 100644 (file)
index 0000000..4a5cb35
--- /dev/null
@@ -0,0 +1,19 @@
+//
+// System.Windows.Forms.Form
+//
+// Author:
+//   Miguel de Icaza (miguel@ximian.com)
+//
+// (C) 2002 Ximian, Inc
+//
+
+using System;
+using System.Drawing;
+using Gtk;
+using GtkSharp;
+
+namespace System.Windows.Forms {
+
+       public class ContainerControl : ScrollableControl {
+       }
+}
diff --git a/mcs/class/System.Windows.Forms/Gtk/Control.cs b/mcs/class/System.Windows.Forms/Gtk/Control.cs
new file mode 100644 (file)
index 0000000..7314811
--- /dev/null
@@ -0,0 +1,79 @@
+//
+// System.Windows.Forms.Form
+//
+// Author:
+//   Miguel de Icaza (miguel@ximian.com)
+//
+// (C) 2002 Ximian, Inc
+//
+
+using System;
+using System.Drawing;
+using Gtk;
+using GtkSharp;
+using System.ComponentModel;
+
+namespace System.Windows.Forms {
+
+       public class Control : Component {
+               internal Widget widget;
+               Control parent;
+               string text;
+               int left, top, width, height;
+
+               public Control () : this ("")
+               {
+               }
+
+               public Control (string text) : this (null, text)
+               {
+               }
+
+               public Control (Control parent, string text)
+               {
+                       this.parent = parent;
+                       this.text = text;
+               }
+
+               public Control (string text, int left, int top, int width, int height)
+               {
+               }
+
+               public Control (Control parent, string text, int left, int top, int width, int height)
+               {
+               }
+
+               internal Widget Widget {
+                       get {
+                               if (widget == null)
+                                       widget = CreateWidget ();
+                               return widget;
+                       }
+               }
+               
+               internal virtual Widget CreateWidget ()
+               {
+                       throw new Exception ();
+               }
+
+               public virtual string Text {
+                       get {
+                               return text;
+                       }
+
+                       set {
+                               text = value;
+                       }
+               }
+               
+               public void Show ()
+               {
+                       Widget.EmitShow ();
+               }
+
+               public void Hide ()
+               {
+                       Widget.EmitHide ();
+               }
+       }
+}
diff --git a/mcs/class/System.Windows.Forms/Gtk/Form.cs b/mcs/class/System.Windows.Forms/Gtk/Form.cs
new file mode 100644 (file)
index 0000000..2ebc99e
--- /dev/null
@@ -0,0 +1,825 @@
+//
+// System.Windows.Forms.Form
+//
+// Author:
+//   Miguel de Icaza (miguel@ximian.com)
+//   stubbed out by Daniel Carrera (dcarrera@math.toronto.edu)
+//
+// (C) 2002 Ximian, Inc
+//
+
+using System;
+using System.Drawing;
+using Gtk;
+using GtkSharp;
+
+namespace System.Windows.Forms {
+
+        public class Form : ContainerControl {
+               Window win;
+               string caption;
+
+               public Form ()
+               {
+               }
+
+               internal override Widget CreateWidget ()
+               {
+                       win = new Window (WindowType.Toplevel);
+
+                       win.Title = Text;
+                       return (Widget) win;
+               }
+
+               public override string Text {
+                       get {
+                               return base.Text;
+                       }
+
+                       set {
+                               base.Text = value;
+                               if (win != null)
+                                       win.Title = value;
+                       }
+               }
+               
+               //  --- Public Properties
+               //
+               // [MonoTODO]
+               // public IButtonControl AcceptButton {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public static Form ActiveForm {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Form ActiveMdiChild {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool AutoScale {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public virtual Size AtoScaleBaseSize {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public override bool AutoScroll {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public virtual Color BackColor {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public IButtonControl CancelButton {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public new Size ClientSize {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool ControlBox {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Rectangle DesktopBounds {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Point DesktopLocation {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public DialogResult DialogResult {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public FormBorderStyle FormBorderStyle {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool HelpButton {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Icon Icon {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool IsMidiChild {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool IsMidiContainer {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool KeyPreview {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool MaximizeBox {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Size MaximumSize {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Form[] MdiChildren {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Form MdiParent {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public MainMenu Menu {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public MainMenu MergedMenu {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool MinimizeBox {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Size MinimumSize {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool Modal {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public double Opacity {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Form[] OwnedForms {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Form Owner {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool ShowInTaskbar {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public override ISite Site {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public SizeGripStyle SizeGripStyle {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public FormStartPosition StartPosition {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool TopLevel {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public bool TopMost {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public Color TransparencyKey {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public FormWindowState WindowState {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+
+               //
+               //  --- Public Methods
+               //
+               // [MonoTODO]
+               // public void Activate()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void AddOwnedForm(Form ownedForm)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void Close()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void Dispose()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public virtual bool Equals(object o);
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public static bool Equals(object o1, object o2);
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public static SizeF GetAutoScaleSize(Font font)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void Invalidate()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public object Invoke()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void LayoutMdi(MdiLayout value)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void PerformLayout()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void RemoveOwnedForm(Form ownedForm)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void ResumeLayout()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void Scale(float f)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void Select()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void SetBounds(int, int, int, int)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public void SetDesktopLocation(int x, int y)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public DialogResult ShowDialog()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // public override string ToString()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+
+               //
+               //  --- Public Events
+               //
+               // [MonoTODO]
+               // public event EventHandler Activated {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event EventHandrel Closed {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event CancelEventHandler Closing {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event EventHandler Deactivate {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event InputLanguageChangedEventHandler InputLanguageChanged {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event InputLanguageChangingEventHandler InputLanguageChanging {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+
+               // [MonoTODO]
+               // public event EventHandler  Load {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event EventHandler  MaximizedBoundsChanged {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event EventHandler  MaximumSizeChanged {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event EventHandler  MdiChildActivate {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event EventHandler  MenuComplete {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event EventHandler  MenuStart {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // public event EventHandler  MinimumSizedChanged {
+               //      add {
+               //              throw new NotImplementedException ();
+               //      }
+               //      remove {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+
+               //
+               //  --- Protected Properties
+               //
+               // [MonoTODO]
+               // protected override CreateParams CreateParams {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // protected override ImeMode DefaultImeMode {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+               // [MonoTODO]
+               // protected override Size DefaultSize {
+               //}
+               // [MonoTODO]
+               // protected Rectangle MaximizedBounds {
+               //      get {
+               //              throw new NotImplementedException ();
+               //      }
+               //      set {
+               //              throw new NotImplementedException ();
+               //      }
+               //}
+
+               //
+               //  --- Protected Methods
+               //
+               // [MonoTODO]
+               // protected override void AdjustFormScrollbars(bool displayScrollbars)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override ControlCollection CreateControlsInstnace()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void CreateHandle()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void DefWndProc(ref Message m)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void Dispose(bool b)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+
+               // [MonoTODO]
+               // protected virtual void  OnClosed(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void  OnClosing(CancelEventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+
+               // [MonoTODO]
+               // protected override void OnCreateControl()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void OnFontChanged(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void OnHandleCreated(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void OnHandleDestroyed(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+
+               // [MonoTODO]
+               // protected virtual void OnInputLanguageChanged( OnInputLanguageChangedEventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void OnInputLanguagedChanging( OnInputLanguagedChangingEventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void OnLoad(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void OnMaximizedBoundsChanged(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void OnMaximumSizedChanged(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void OnMdiChildActive(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void OnMenuComplete(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void OnMenuStart(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected virtual void OnMinimumSizeChanged(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+
+               // [MonoTODO]
+               // protected override void  OnPaint(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void  OnResize(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void  OnStyleChanged(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void  OnTextChanged(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void  OnVisibleChanged(EventArgs e)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+
+               // [MonoTODO]
+               // protected override bool ProcessCmdKey( ref Message msg, Keys keyData)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override bool ProcessDialogKey(Keys keyData)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override bool ProcessKeyPreview(ref Message m)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override bool ProcessTabKey(bool forward)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+
+               // [MonoTODO]
+               // protected override void ScaleScore(float x, float y)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void Select(bool b1, bool b2)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void SetBoundsCore(int x, int y,  int width,  int height,  BoundsSpecified specified)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void SelectClientSizeCore(int x, int y)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void SetVisibleCore(bool value)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+
+               // [MonoTODO]
+               // protected void UpdateBounds()
+               // {
+               //              throw new NotImplementedException ();
+               // }
+               // [MonoTODO]
+               // protected override void WndProc(ref Message m)
+               // {
+               //              throw new NotImplementedException ();
+               // }
+       }
+}
diff --git a/mcs/class/System.Windows.Forms/Gtk/ScrollableControl.cs b/mcs/class/System.Windows.Forms/Gtk/ScrollableControl.cs
new file mode 100644 (file)
index 0000000..aa67a80
--- /dev/null
@@ -0,0 +1,19 @@
+//
+// System.Windows.Forms.Form
+//
+// Author:
+//   Miguel de Icaza (miguel@ximian.com)
+//
+// (C) 2002 Ximian, Inc
+//
+
+using System;
+using System.Drawing;
+using Gtk;
+using GtkSharp;
+
+namespace System.Windows.Forms {
+
+       public class ScrollableControl : Control {
+       }
+}
diff --git a/mcs/class/System.Windows.Forms/Gtk/demo.cs b/mcs/class/System.Windows.Forms/Gtk/demo.cs
new file mode 100644 (file)
index 0000000..67eb91b
--- /dev/null
@@ -0,0 +1,17 @@
+using System.Windows.Forms;
+
+class X {
+       static void Main ()
+       {
+               Gtk.Application.Init ();
+               
+               Form form = new Form ();
+
+               form.Text = "hello";
+               
+               form.Show ();
+
+               Application.Run ();
+       }
+}
+
diff --git a/mcs/class/System.Windows.Forms/Gtk/makefile b/mcs/class/System.Windows.Forms/Gtk/makefile
new file mode 100644 (file)
index 0000000..7ba814d
--- /dev/null
@@ -0,0 +1,17 @@
+CSC=csc 
+SWFF=/r:gtk-sharp.dll /r:glib-sharp.dll /noconfig /r:System.dll /r:System.Drawing.dll /nowarn:169
+
+SOURCES = \
+       Application.cs          \
+       ContainerControl.cs     \
+       Control.cs              \
+       Form.cs                 \
+       ScrollableControl.cs
+
+all: demo.exe
+
+demo.exe: demo.cs System.Windows.Forms.dll
+       $(CSC) demo.cs /r:System.Windows.Forms.dll /r:gtk-sharp.dll
+
+System.Windows.Forms.dll: $(SOURCES)
+       $(CSC) $(SWFF) /target:library /out:System.Windows.Forms.dll $(SOURCES)