2004-02-16 Mike Kestner <mkestner@ximian.com>

* gdk/Gdk.metadata : hide EventAny
	* gdk/Event.cs : make this a full EventAny implementation.
	* gdk/gdk-api.xml : regen
	* gdk/gdk-symbols.xml : map EventAny to Gdk.Event.
	* glue/event.cs : expose window and send_event fields.

svn path=/trunk/gtk-sharp/; revision=23134
This commit is contained in:
Mike Kestner 2004-02-16 17:48:14 +00:00
parent b44b408e52
commit ad8ca4e74d
6 changed files with 68 additions and 10 deletions

View file

@ -1,3 +1,11 @@
2004-02-16 Mike Kestner <mkestner@ximian.com>
* gdk/Gdk.metadata : hide EventAny
* gdk/Event.cs : make this a full EventAny implementation.
* gdk/gdk-api.xml : regen
* gdk/gdk-symbols.xml : map EventAny to Gdk.Event.
* glue/event.cs : expose window and send_event fields.
2004-02-14 Todd Berman <tberman@sevenl.net> 2004-02-14 Todd Berman <tberman@sevenl.net>
* gtk/Gtk.metadata : hide Widget.SetState * gtk/Gtk.metadata : hide Widget.SetState

View file

@ -1,22 +1,48 @@
// Gdk.Event.cs - Custom event wrapper // Gdk.Event.cs - Custom event wrapper
// //
// Author: Rachel Hestilow <hestilow@ximian.com> // Authors: Rachel Hestilow <hestilow@ximian.com>
// Mike Kestner <mkestner@ximian.com>
// //
// (c) 2002 Rachel Hestilow // (c) 2002 Rachel Hestilow
// (c) 2004 Novell, Inc.
namespace Gdk { namespace Gdk {
using System; using System;
using System.Collections;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
public class Event : GLib.Boxed { public class Event : GLib.IWrapper {
[DllImport("gtksharpglue")] [DllImport("gtksharpglue")]
static extern EventType gtksharp_gdk_event_get_event_type (IntPtr evt); static extern EventType gtksharp_gdk_event_get_event_type (IntPtr evt);
public Event(IntPtr raw) : base(raw) {} [DllImport("gtksharpglue")]
static extern IntPtr gtksharp_gdk_event_get_window (IntPtr evt);
[DllImport("gtksharpglue")]
static extern sbyte gtksharp_gdk_event_get_send_event (IntPtr evt);
[DllImport("libgdk-win32-2.0-0.dll")]
static extern IntPtr gdk_event_get_type ();
IntPtr raw;
public Event(IntPtr raw)
{
this.raw = raw;
}
public IntPtr Handle {
get {
return raw;
}
}
public static GLib.GType GType {
get {
return new GLib.GType (gdk_event_get_type ());
}
}
public EventType Type { public EventType Type {
get { get {
@ -24,11 +50,17 @@ namespace Gdk {
} }
} }
public bool IsValid { public Window Window {
get { get {
return (Handle != IntPtr.Zero); return GLib.Object.GetObject (gtksharp_gdk_event_get_window (Handle)) as Window;
}
}
public bool SendEvent {
get {
return gtksharp_gdk_event_get_send_event (Handle) == 0 ? false : true;
}
} }
} }
} }
}

View file

@ -62,6 +62,7 @@
<attr path="//object[@cname='GdkWindow']/method[@name='GetToplevels']" name="hidden">1</attr> <attr path="//object[@cname='GdkWindow']/method[@name='GetToplevels']" name="hidden">1</attr>
<attr path="//object[@cname='GdkWindow']/method[@name='PeekChildren']" name="hidden">1</attr> <attr path="//object[@cname='GdkWindow']/method[@name='PeekChildren']" name="hidden">1</attr>
<attr path="//object[@cname='GdkWindow']/method[@name='SetIconList']" name="hidden">1</attr> <attr path="//object[@cname='GdkWindow']/method[@name='SetIconList']" name="hidden">1</attr>
<attr path="//struct[@cname='GdkEventAny']" name="hidden">1</attr>
<attr path="//struct[@cname='GdkPixmapObject']" name="hidden">1</attr> <attr path="//struct[@cname='GdkPixmapObject']" name="hidden">1</attr>
<attr path="//struct[@cname='GdkTimeCoord']/field[@cname='axes']" name="array_len">128</attr> <attr path="//struct[@cname='GdkTimeCoord']/field[@cname='axes']" name="array_len">128</attr>
<attr path="//struct[@cname='GdkWindowObject']" name="hidden">1</attr> <attr path="//struct[@cname='GdkWindowObject']" name="hidden">1</attr>

View file

@ -2265,7 +2265,7 @@
</parameters> </parameters>
</callback> </callback>
</struct> </struct>
<struct name="EventAny" cname="GdkEventAny"> <struct name="EventAny" cname="GdkEventAny" hidden="1">
<field cname="type" type="GdkEventType" /> <field cname="type" type="GdkEventType" />
<field cname="window" type="GdkWindow*" /> <field cname="window" type="GdkWindow*" />
<field cname="send_event" type="gint8" /> <field cname="send_event" type="gint8" />

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<api> <api>
<symbol type="manual" cname="GdkEvent" name="Gdk.Event"/> <symbol type="manual" cname="GdkEvent" name="Gdk.Event"/>
<symbol type="manual" cname="GdkEventAny" name="Gdk.Event"/>
</api> </api>

View file

@ -1,8 +1,10 @@
/* event.c : Glue to access fields in GdkEvent. /* event.c : Glue to access fields in GdkEvent.
* *
* Author: Rachel Hestilow <hestilow@ximian.com> * Authors: Rachel Hestilow <hestilow@ximian.com>
* Mike Kestner <mkestner@ximian.com>
* *
* <c> 2002 Rachel Hestilow, Mike Kestner * <c> 2002 Rachel Hestilow, Mike Kestner
* (c) 2004 Novell, Inc.
*/ */
@ -10,6 +12,8 @@
/* Forward declarations */ /* Forward declarations */
GdkEventType gtksharp_gdk_event_get_event_type (GdkEvent *event); GdkEventType gtksharp_gdk_event_get_event_type (GdkEvent *event);
GdkWindow* gtksharp_gdk_event_get_window (GdkEventAny *event);
gint8 gtksharp_gdk_event_get_send_event (GdkEventAny *event);
/* */ /* */
GdkEventType GdkEventType
@ -18,3 +22,15 @@ gtksharp_gdk_event_get_event_type (GdkEvent *event)
return event->type; return event->type;
} }
GdkWindow*
gtksharp_gdk_event_get_window (GdkEventAny *event)
{
return event->window;
}
gint8
gtksharp_gdk_event_get_send_event (GdkEventAny *event)
{
return event->send_event;
}