Author: pbartok
Date: 2005-03-17 18:56:18 -0500 (Thu, 17 Mar 2005)
New Revision: 41969
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/FileDialog.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Hwnd.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIDriver.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIOSX.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIWin32.cs
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
Log:
2005-03-17 Peter Bartok <[EMAIL PROTECTED]>
* Hwnd.cs: Do not consider menu presence for default client
rectangle location/size
* XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
translation functions
* FileDialog.cs: Fixed (what I presume is a) typo
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2005-03-17 23:34:42 UTC (rev 41968)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
2005-03-17 23:56:18 UTC (rev 41969)
@@ -1,3 +1,12 @@
+2005-03-17 Peter Bartok <[EMAIL PROTECTED]>
+
+ * Hwnd.cs: Do not consider menu presence for default client
+ rectangle location/size
+ * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
+ XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
+ translation functions
+ * FileDialog.cs: Fixed (what I presume is a) typo
+
2005-03-17 Jonathan Gilbert <[EMAIL PROTECTED]>
* XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/FileDialog.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/FileDialog.cs
2005-03-17 23:34:42 UTC (rev 41968)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/FileDialog.cs
2005-03-17 23:56:18 UTC (rev 41969)
@@ -154,7 +154,7 @@
set
{
- if ( filter == null )
+ if ( value == null )
throw new NullReferenceException(
"Filter" );
filter = value;
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Hwnd.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Hwnd.cs
2005-03-17 23:34:42 UTC (rev 41968)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Hwnd.cs
2005-03-17 23:56:18 UTC (rev 41969)
@@ -249,11 +249,6 @@
rect = new Rectangle(0, 0, width, height);
- if (menu_handle != IntPtr.Zero) {
- rect.Y += menu_height;
- rect.Height -= menu_height;
- }
-
if (border_style == BorderStyle.Fixed3D) {
rect.X += 2;
rect.Y += 2;
Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs
2005-03-17 23:34:42 UTC (rev 41968)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs
2005-03-17 23:56:18 UTC (rev 41969)
@@ -77,7 +77,7 @@
#region Constructor & Destructor
static XplatUI() {
- Console.WriteLine("Mono System.Windows.Forms Assembly
[Revision: 41731; built: 2005/2/11 23:27:29]");
+ Console.WriteLine("Mono System.Windows.Forms Assembly
[Revision: 41731; built: 2005/2/15 5:56:12]");
// Don't forget to throw the mac in here somewhere, too
default_class_name="SWFClass";
@@ -458,6 +458,13 @@
driver.KillTimer (timer);
}
+ internal static void MenuToScreen(IntPtr handle, ref int x, ref
int y) {
+ #if DriverDebug
+ Console.WriteLine("MenuToScreen({0:X}, {1},
{2}): Called", handle.ToInt32(), x, y);
+ #endif
+ driver.MenuToScreen(handle, ref x, ref y);
+ }
+
internal static void OverrideCursor(IntPtr cursor) {
#if DriverDebug
Console.WriteLine("OverrideCursor({0:X}):
Called", cursor.ToInt32());
@@ -497,6 +504,13 @@
driver.ScreenToClient (handle, ref x, ref y);
}
+ internal static void ScreenToMenu(IntPtr handle, ref int x, ref
int y) {
+ #if DriverDebug
+ Console.WriteLine("ScreenToMenu({0:X}, {1},
{2}): Called", handle.ToInt32(), x, y);
+ #endif
+ driver.ScreenToMenu(handle, ref x, ref y);
+ }
+
internal static void ScrollWindow(IntPtr handle, Rectangle
rectangle, int XAmount, int YAmount, bool with_children) {
#if DriverDebug
Console.WriteLine("ScrollWindow({0:X}, {1},
{2}, {3}, {4}): Called", handle.ToInt32(), rectangle, XAmount, YAmount,
with_children);
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIDriver.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIDriver.cs
2005-03-17 23:34:42 UTC (rev 41968)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIDriver.cs
2005-03-17 23:56:18 UTC (rev 41969)
@@ -191,6 +191,8 @@
internal abstract Graphics GetMenuDC(IntPtr hwnd, IntPtr
ncpaint_region);
internal abstract Point GetMenuOrigin(IntPtr hwnd);
internal abstract void ReleaseMenuDC(IntPtr hwnd, Graphics dc);
+ internal abstract void MenuToScreen(IntPtr hwnd, ref int x, ref
int y);
+ internal abstract void ScreenToMenu(IntPtr hwnd, ref int x, ref
int y);
internal abstract void SetIcon(IntPtr handle, Icon icon);
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIOSX.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIOSX.cs
2005-03-17 23:34:42 UTC (rev 41968)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIOSX.cs
2005-03-17 23:56:18 UTC (rev 41969)
@@ -1285,6 +1285,23 @@
}
}
+ internal override void MenuToScreen(IntPtr handle, ref int x,
ref int y) {
+ CGPoint pt = new CGPoint ();
+ Rect wBounds = new Rect ();
+ Hwnd hwnd;
+
+ hwnd = Hwnd.ObjectFromHandle(handle);
+
+ pt.x = x;
+ pt.y = y;
+
+ GetWindowBounds (GetControlOwner (hwnd.whole_window),
32, ref wBounds);
+ HIViewConvertPoint (ref pt, handle, IntPtr.Zero);
+
+ x = (int)(pt.x+wBounds.left);
+ y = (int)(pt.y+wBounds.top);
+ }
+
[MonoTODO]
internal override void OverrideCursor(IntPtr cursor) {
throw new NotImplementedException ();
@@ -1356,6 +1373,20 @@
y = (int)pt.y;
}
+ [MonoTODO]
+ internal override void ScreenToMenu(IntPtr handle, ref int x,
ref int y) {
+ CGPoint pt = new CGPoint ();
+ Rect wBounds = new Rect ();
+
+ GetWindowBounds (GetControlOwner (handle), 32, ref
wBounds);
+ pt.x = (x-wBounds.left);
+ pt.y = (y-wBounds.top);
+ HIViewConvertPoint (ref pt, IntPtr.Zero, handle);
+
+ x = (int)pt.x;
+ y = (int)pt.y;
+ }
+
internal override void ScrollWindow(IntPtr handle, Rectangle
area, int XAmount, int YAmount, bool clear) {
//IntPtr rect = IntPtr.Zero;
//HIRect vBounds = new HIRect ();
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIWin32.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIWin32.cs
2005-03-17 23:34:42 UTC (rev 41968)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIWin32.cs
2005-03-17 23:56:18 UTC (rev 41969)
@@ -629,7 +629,7 @@
set {
if (value) {
- throw new NotImplementedException("Need
to figure out D'n'D for Win32");
+ //throw new
NotImplementedException("Need to figure out D'n'D for Win32");
}
}
}
@@ -1357,6 +1357,14 @@
y = pnt.y;
}
+ internal override void ScreenToMenu(IntPtr handle, ref int x,
ref int y) {
+ ScreenToClient(handle, ref x, ref y);
+ }
+
+ internal override void MenuToScreen(IntPtr handle, ref int x,
ref int y) {
+ ClientToScreen(handle, ref x, ref y);
+ }
+
internal override void SendAsyncMethod (AsyncMethodData method)
{
Win32PostMessage(FosterParent, Msg.WM_ASYNC_MESSAGE,
IntPtr.Zero, (IntPtr)GCHandle.Alloc (method));
Modified:
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
2005-03-17 23:34:42 UTC (rev 41968)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
2005-03-17 23:56:18 UTC (rev 41969)
@@ -2483,6 +2483,22 @@
}
}
+ internal override void MenuToScreen(IntPtr handle, ref int x,
ref int y) {
+ int dest_x_return;
+ int dest_y_return;
+ IntPtr child;
+ Hwnd hwnd;
+
+ hwnd = Hwnd.ObjectFromHandle(handle);
+
+ lock (XlibLock) {
+ XTranslateCoordinates(DisplayHandle,
hwnd.whole_window, RootWindow, x, y, out dest_x_return, out dest_y_return, out
child);
+ }
+
+ x = dest_x_return;
+ y = dest_y_return;
+ }
+
internal override void OverrideCursor(IntPtr cursor) {
OverrideCursorHandle = cursor;
}
@@ -2590,6 +2606,22 @@
y = dest_y_return;
}
+ internal override void ScreenToMenu(IntPtr handle, ref int x,
ref int y) {
+ int dest_x_return;
+ int dest_y_return;
+ IntPtr child;
+ Hwnd hwnd;
+
+ hwnd = Hwnd.ObjectFromHandle(handle);
+
+ lock (XlibLock) {
+ XTranslateCoordinates (DisplayHandle,
RootWindow, hwnd.whole_window, x, y, out dest_x_return, out dest_y_return, out
child);
+ }
+
+ x = dest_x_return;
+ y = dest_y_return;
+ }
+
internal override void ScrollWindow(IntPtr handle, Rectangle
area, int XAmount, int YAmount, bool with_children) {
Hwnd hwnd;
IntPtr gc;
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches