2 // System.Windows.Forms.Form
5 // Miguel de Icaza (miguel@ximian.com)
6 // stubbed out by Daniel Carrera (dcarrera@math.toronto.edu)
7 // Dennis Hayes (dennish@raytek.com)
8 // WINELib implementation started by John Sohn (jsohn@columbus.rr.com)
10 // (C) 2002 Ximian, Inc
15 using System
.ComponentModel
;
16 using System
.Collections
;
18 namespace System
.Windows
.Forms
{
20 public class Form
: ContainerControl
{
22 public Form () : base ()
31 // --- Public Properties
34 public IButtonControl AcceptButton
{
36 throw new NotImplementedException ();
39 throw new NotImplementedException ();
44 public static Form ActiveForm
{
46 throw new NotImplementedException ();
51 public Form ActiveMdiChild
{
53 throw new NotImplementedException ();
58 public bool AutoScale
{
60 throw new NotImplementedException ();
63 throw new NotImplementedException ();
68 public virtual Size AutoScaleBaseSize
{
70 throw new NotImplementedException ();
73 throw new NotImplementedException ();
77 public override bool AutoScroll
{
79 return base.AutoScroll
;
82 base.AutoScroll
= value;
86 public override Color BackColor
{
88 return base.BackColor
;
91 base.BackColor
= value;
96 public IButtonControl CancelButton
{
98 throw new NotImplementedException ();
101 throw new NotImplementedException ();
106 public new Size ClientSize
{
108 throw new NotImplementedException ();
111 throw new NotImplementedException ();
117 public bool ControlBox
{
119 throw new NotImplementedException ();
122 throw new NotImplementedException ();
127 public Rectangle DesktopBounds
{
129 throw new NotImplementedException ();
132 throw new NotImplementedException ();
137 public Point DesktopLocation
{
139 throw new NotImplementedException ();
142 throw new NotImplementedException ();
148 public DialogResult DialogResult
{
150 throw new NotImplementedException ();
153 throw new NotImplementedException ();
159 public FormBorderStyle FormBorderStyle
{
161 throw new NotImplementedException ();
164 throw new NotImplementedException ();
169 public bool HelpButton
{
171 throw new NotImplementedException ();
174 throw new NotImplementedException ();
180 // Icon class not yet stubbed/implemented
183 // throw new NotImplementedException ();
186 // throw new NotImplementedException ();
191 public bool IsMidiChild
{
193 throw new NotImplementedException ();
196 throw new NotImplementedException ();
201 public bool IsMidiContainer
{
203 throw new NotImplementedException ();
206 throw new NotImplementedException ();
211 public bool KeyPreview
{
213 throw new NotImplementedException ();
216 throw new NotImplementedException ();
222 public bool MaximizeBox
{
224 throw new NotImplementedException ();
227 throw new NotImplementedException ();
232 public Size MaximumSize
{
234 throw new NotImplementedException ();
237 throw new NotImplementedException ();
242 public Form
[] MdiChildren
{
244 throw new NotImplementedException ();
247 throw new NotImplementedException ();
252 public Form MdiParent
{
254 throw new NotImplementedException ();
257 throw new NotImplementedException ();
263 //public MainMenu Menu {
265 // throw new NotImplementedException ();
268 // throw new NotImplementedException ();
273 //public MainMenu MergedMenu {
275 // throw new NotImplementedException ();
281 public bool MinimizeBox
{
283 throw new NotImplementedException ();
286 throw new NotImplementedException ();
291 public Size MinimumSize
{
293 throw new NotImplementedException ();
296 throw new NotImplementedException ();
303 throw new NotImplementedException ();
308 public double Opacity
{
310 throw new NotImplementedException ();
313 throw new NotImplementedException ();
318 public Form
[] OwnedForms
{
320 throw new NotImplementedException ();
327 throw new NotImplementedException ();
330 throw new NotImplementedException ();
335 public bool ShowInTaskbar
{
337 throw new NotImplementedException ();
340 throw new NotImplementedException ();
345 public override ISite Site
{
355 public SizeGripStyle SizeGripStyle
{
357 throw new NotImplementedException ();
360 throw new NotImplementedException ();
365 public FormStartPosition StartPosition
{
367 throw new NotImplementedException ();
370 throw new NotImplementedException ();
375 public bool TopLevel
{
377 throw new NotImplementedException ();
380 throw new NotImplementedException ();
385 public bool TopMost
{
387 throw new NotImplementedException ();
390 throw new NotImplementedException ();
395 public Color TransparencyKey
{
397 throw new NotImplementedException ();
400 throw new NotImplementedException ();
407 public FormWindowState WindowState
{
409 throw new NotImplementedException ();
412 throw new NotImplementedException ();
417 // --- Public Methods
418 public void Activate ()
420 Win32
.SetActiveWindow (Handle
);
424 public void AddOwnedForm (Form ownedForm
)
426 throw new NotImplementedException ();
432 Win32
.CloseWindow (Handle
);
436 //public void Dispose ()
438 // throw new NotImplementedException ();
440 //public static bool Equals (object o1, object o2)
442 // throw new NotImplementedException ();
445 public override bool Equals (object o
)
447 throw new NotImplementedException ();
452 public override int GetHashCode () {
453 //FIXME add our proprities
454 return base.GetHashCode ();
458 // Font class not implemented or stubbed
459 //public static SizeF GetAutoScaleSize(Font font)
461 // throw new NotImplementedException ();
464 //public void Invalidate()
466 // throw new NotImplementedException ();
469 //public object Invoke()
471 // throw new NotImplementedException ();
475 public void LayoutMdi (MdiLayout
value)
477 throw new NotImplementedException ();
480 //public void PerformLayout()
482 // throw new NotImplementedException ();
486 public void RemoveOwnedForm (Form ownedForm
)
488 throw new NotImplementedException ();
491 // public void ResumeLayout()
493 // throw new NotImplementedException ();
496 // public void Scale(float f)
498 // throw new NotImplementedException ();
501 // public void Select()
503 // throw new NotImplementedException ();
506 // public void SetBounds(int x, int y, int width, int height)
508 // throw new NotImplementedException ();
511 public void SetDesktopLocation (int x
, int y
)
513 Win32
.SetWindowPos ((IntPtr
) Handle
, (IntPtr
) 0,
515 (int) (Win32
.SWP_NOSIZE
|
516 Win32
.SWP_NOZORDER
));
519 public new void Show ()
521 Win32
.ShowWindow (Handle
, (int) Win32
.SW_SHOW
);
525 public DialogResult
ShowDialog ()
527 throw new NotImplementedException ();
532 public override string ToString ()
534 throw new NotImplementedException ();
539 public event EventHandler Activated
; //{
541 // throw new NotImplementedException ();
544 // throw new NotImplementedException ();
548 public event EventHandler Closed
;
551 // CancelEventHandler not yet implemented/stubbed
552 //public event CancelEventHandler Closing;
554 public event EventHandler Deactivate
; // {
556 // throw new NotImplementedException ();
559 // throw new NotImplementedException ();
563 public event InputLanguageChangedEventHandler InputLanguageChanged
; // {
565 // throw new NotImplementedException ();
568 // throw new NotImplementedException ();
572 public event InputLanguageChangingEventHandler InputLanguageChanging
; // {
574 // throw new NotImplementedException ();
577 // throw new NotImplementedException ();
582 public event EventHandler Load
; // {
584 // throw new NotImplementedException ();
587 // throw new NotImplementedException ();
591 public event EventHandler MaximizedBoundsChanged
; // {
593 // throw new NotImplementedException ();
596 // throw new NotImplementedException ();
600 public event EventHandler MaximumSizeChanged
; // {
602 // throw new NotImplementedException ();
605 // throw new NotImplementedException ();
609 public event EventHandler MdiChildActivate
; // {
611 // throw new NotImplementedException ();
614 // throw new NotImplementedException ();
618 public event EventHandler MenuComplete
; // {
620 // throw new NotImplementedException ();
623 // throw new NotImplementedException ();
627 public event EventHandler MenuStart
; // {
629 // throw new NotImplementedException ();
632 // throw new NotImplementedException ();
636 public event EventHandler MinimumSizedChanged
; // {
638 // throw new NotImplementedException ();
641 // throw new NotImplementedException ();
646 // --- Protected Properties
648 protected override CreateParams CreateParams
{
650 return base.CreateParams
;
654 protected override ImeMode DefaultImeMode
{
656 return base.DefaultImeMode
;
662 //protected override Size DefaultSize {
666 //public new Size Size {
668 // throw new NotImplementedException ();
671 // throw new NotImplementedException ();
676 protected Rectangle MaximizedBounds
{
678 throw new NotImplementedException ();
681 throw new NotImplementedException ();
686 // --- Protected Methods
688 protected override void AdjustFormScrollbars (
689 bool displayScrollbars
)
691 base.AdjustFormScrollbars (displayScrollbars
);
694 protected override Control
.ControlCollection
695 CreateControlsInstance ()
697 return base.CreateControlsInstance ();
700 protected override void CreateHandle ()
702 base.CreateHandle ();
705 OnHandleCreated (new EventArgs());
708 protected override void DefWndProc (ref Message m
)
710 window
.DefWndProc (ref m
);
713 //protected override void Dispose(bool disposing)
715 // throw new NotImplementedException ();
719 protected virtual void OnClosed (EventArgs e
)
727 // CancelEventArgs not yet stubbed/implemented
728 //protected virtual void OnClosing(CancelEventArgs e)
730 // throw new NotImplementedException ();
733 protected override void OnCreateControl ()
735 base.OnCreateControl ();
738 protected override void OnFontChanged (EventArgs e
)
740 base.OnFontChanged (e
);
743 protected override void OnHandleCreated (EventArgs e
)
745 Console
.WriteLine ("OnHandleCreated");
746 base.OnHandleCreated (e
);
749 protected override void OnHandleDestroyed (EventArgs e
)
751 base.OnHandleDestroyed (e
);
754 protected virtual void OnInputLanguageChanged (
755 InputLanguageChangedEventArgs e
)
757 if (InputLanguageChanged
!= null)
758 InputLanguageChanged (this, e
);
761 protected virtual void OnInputLanguagedChanging (
762 InputLanguageChangingEventArgs e
)
764 if (InputLanguageChanging
!= null)
765 InputLanguageChanging (this, e
);
769 protected virtual void OnLoad (EventArgs e
)
775 protected virtual void OnMaximizedBoundsChanged (EventArgs e
)
777 if (MaximizedBoundsChanged
!= null)
778 MaximizedBoundsChanged (this, e
);
781 protected virtual void OnMaximumSizeChanged (EventArgs e
)
783 if (MaximumSizeChanged
!= null)
784 MaximumSizeChanged (this, e
);
787 protected virtual void OnMdiChildActivate (EventArgs e
)
789 if (MdiChildActivate
!= null)
790 MdiChildActivate (this, e
);
793 protected virtual void OnMenuComplete (EventArgs e
)
795 if (MenuComplete
!= null)
796 MenuComplete (this, e
);
799 protected virtual void OnMenuStart (EventArgs e
)
801 if (MenuStart
!= null)
805 protected virtual void OnMinimumSizeChanged (EventArgs e
)
811 protected override void OnPaint (PaintEventArgs e
)
817 protected override void OnResize (EventArgs e
)
822 protected override void OnStyleChanged (EventArgs e
)
824 base.OnStyleChanged (e
);
828 protected override void OnTextChanged (EventArgs e
)
830 base.OnTextChanged (e
);
833 protected override void OnVisibleChanged (EventArgs e
)
835 base.OnVisibleChanged (e
);
838 protected override bool ProcessCmdKey (
839 ref Message msg
, Keys keyData
)
841 return base.ProcessCmdKey (ref msg
, keyData
);
844 protected override bool ProcessDialogKey (Keys keyData
)
846 return base.ProcessDialogKey (keyData
);
849 protected override bool ProcessKeyPreview (ref Message m
)
851 return base.ProcessKeyPreview (ref m
);
854 protected override bool ProcessTabKey (bool forward
)
856 return base.ProcessTabKey (forward
);
859 protected override void ScaleCore (float x
, float y
)
861 base.ScaleCore (x
, y
);
864 //public void Select(bool b1, bool b2)
866 // throw new NotImplementedException ();
869 protected override void SetBoundsCore (
870 int x
, int y
, int width
, int height
,
871 BoundsSpecified specified
)
873 base.SetBoundsCore (x
, y
, width
, height
, specified
);
876 protected override void SetClientSizeCore (int x
, int y
)
878 base.SetClientSizeCore (x
, y
);
881 protected override void SetVisibleCore (bool value)
883 base.SetVisibleCore (value);
886 //protected void UpdateBounds()
888 // throw new NotImplementedException ();
891 protected override void WndProc (ref Message m
)
893 base.WndProc (ref m
);
897 EventArgs closeArgs
= new EventArgs();
898 OnClosed (closeArgs
);
903 case Win32
.WM_FONTCHANGE
:
904 EventArgs fontChangedArgs
= new EventArgs();
905 OnFontChanged (fontChangedArgs
);
907 case Win32
.WM_CREATE
:
908 EventArgs handleCreatedArgs
= new EventArgs();
909 OnHandleCreated (handleCreatedArgs
);
911 case Win32
.WM_DESTROY
:
912 EventArgs destroyArgs
= new EventArgs();
913 OnHandleDestroyed (destroyArgs
);
915 case Win32
.WM_INPUTLANGCHANGE
:
916 //InputLanguageChangedEventArgs ilChangedArgs =
917 // new InputLanguageChangedEventArgs();
918 //OnInputLanguageChanged (ilChangedArgs);
920 case Win32
.WM_INPUTLANGCHANGEREQUEST
:
921 //InputLanguageChangingEventArgs ilChangingArgs =
922 // new InputLanguageChangingEventArgs();
923 //OnInputLanguagedChanging (ilChangingArgs);
926 case Win32.WM_SHOWWINDOW:
932 // OnMaximizedBoundsChanged(EventArgs e)
935 // OnMaximumSizedChanged(EventArgs e)
937 case Win32
.WM_MDIACTIVATE
:
938 EventArgs mdiActivateArgs
= new EventArgs();
939 OnMdiChildActivate (mdiActivateArgs
);
941 case Win32
.WM_EXITMENULOOP
:
942 EventArgs menuCompleteArgs
= new EventArgs();
943 OnMenuComplete (menuCompleteArgs
);
945 case Win32
.WM_ENTERMENULOOP
:
946 EventArgs enterMenuLoopArgs
= new EventArgs();
947 OnMenuStart (enterMenuLoopArgs
);
950 // OnMinimumSizeChanged(EventArgs e)
953 //PaintEventArgs paintArgs = new PaintEventArgs();
954 //OnPaint (paintArgs);
957 EventArgs resizeArgs
= new EventArgs();
958 OnResize (resizeArgs
);
961 //OnStyleChanged(EventArgs e)
963 case Win32
.WM_SETTEXT
:
964 EventArgs textChangedArgs
= new EventArgs();
965 OnTextChanged (textChangedArgs
);
967 case Win32
.WM_SHOWWINDOW
:
968 EventArgs visibleChangedArgs
= new EventArgs();
969 OnVisibleChanged (visibleChangedArgs
);
975 //System.Windows.Forms.Form.ControlCollection.cs
978 // stubbed out by Daniel Carrera (dcarrera@math.toronto.edu)
980 // (C) 2002 Ximian, Inc
984 // This is only a template. Nothing is implemented yet.
987 // TODO: implement support classes and derive from
989 // FIXME: use this or the one defined on Control?
990 public class ControlCollectionX
:
991 System
.Windows
.Forms
.Control
.ControlCollection
995 // base class not defined (yet!)
996 public ControlCollectionX (Form owner
) : base(owner
) {
1000 // --- Public Methods
1002 // TODO: see what causes this compile error
1003 public override void Add(Control
value) {
1007 public override bool Equals (object o
) {
1008 throw new NotImplementedException ();
1011 //public static bool Equals(object o1, object o2) {
1012 // throw new NotImplementedException ();
1015 public override int GetHashCode () {
1016 //FIXME add our proprities
1017 return base.GetHashCode ();
1020 //public override int GetChildIndex(Control c) {
1021 //return base.GetChildIndex (c);
1024 public override void Remove(Control
value) {
1025 base.Remove (value);
1027 } // end of Subclass