Author: crichton
Date: 2005-05-06 21:57:11 -0400 (Fri, 06 May 2005)
New Revision: 44185
Removed:
trunk/gtkmozembed-sharp/gtkmozembed/NewWindowOrphan_handler.cs
trunk/gtkmozembed-sharp/gtkmozembed/NewWindow_delegate.cs
trunk/gtkmozembed-sharp/gtkmozembed/NewWindow_handler.cs
trunk/gtkmozembed-sharp/gtkmozembed/Single.custom
Modified:
trunk/gtkmozembed-sharp/ChangeLog
trunk/gtkmozembed-sharp/gtkmozembed/Makefile.am
trunk/gtkmozembed-sharp/gtkmozembed/WebControl.custom
trunk/gtkmozembed-sharp/gtkmozembed/gtkgecko.metadata
Log:
Mad props to alp for this one. Cleaned up a bit of the
cruft in signals. Please test this one out and see if it
works for you.
Modified: trunk/gtkmozembed-sharp/ChangeLog
===================================================================
--- trunk/gtkmozembed-sharp/ChangeLog 2005-05-07 01:04:07 UTC (rev 44184)
+++ trunk/gtkmozembed-sharp/ChangeLog 2005-05-07 01:57:11 UTC (rev 44185)
@@ -1,3 +1,11 @@
+2005-05-06 Mark Crichton <[EMAIL PROTECTED]>
+
+ * gtkmozembed/gtksharp.metadata: Finally get around to fixing
+ signals
+ * gtkmozembed/NewWindow*.cs, Single.custom: Removed, for they
+ are junk now
+ * gtkmozembed/WebControl.custom: Removed more new_window hackery
+
2005-05-01 Mark Crichton <[EMAIL PROTECTED]>
* Makefile.am:
Modified: trunk/gtkmozembed-sharp/gtkmozembed/Makefile.am
===================================================================
--- trunk/gtkmozembed-sharp/gtkmozembed/Makefile.am 2005-05-07 01:04:07 UTC
(rev 44184)
+++ trunk/gtkmozembed-sharp/gtkmozembed/Makefile.am 2005-05-07 01:57:11 UTC
(rev 44185)
@@ -14,12 +14,8 @@
FIXUP=gapi2-fixup
endif
-sources = NewWindowOrphan_handler.cs \
- NewWindow_delegate.cs \
- NewWindow_handler.cs
+build_sources = AssemblyInfo.cs
-build_sources = $(addprefix $(srcdir)/, $(sources)) AssemblyInfo.cs
-
customs = Single.custom WebControl.custom
CLEANFILES = gecko-sharp.dll generated-stamp generated/*.cs $(API)
gecko-sharp.snk
Deleted: trunk/gtkmozembed-sharp/gtkmozembed/NewWindowOrphan_handler.cs
===================================================================
--- trunk/gtkmozembed-sharp/gtkmozembed/NewWindowOrphan_handler.cs
2005-05-07 01:04:07 UTC (rev 44184)
+++ trunk/gtkmozembed-sharp/gtkmozembed/NewWindowOrphan_handler.cs
2005-05-07 01:57:11 UTC (rev 44185)
@@ -1,24 +0,0 @@
-// This file was generated by the Gtk# Code generator.
-// Any changes made will be lost if regenerated.
-
-namespace Gecko {
-
- using System;
-
- public delegate void NewWindowOrphanHandler(object o, NewWindowArgs
args);
-
- public class NewWindowOrphanArgs : GLib.SignalArgs {
- public WebControl NewEmbed{
- set {
- Args[0] = (WebControl) value;
- }
- }
-
- public uint Chromemask{
- get {
- return (uint) Args[1];
- }
- }
-
- }
-}
Deleted: trunk/gtkmozembed-sharp/gtkmozembed/NewWindow_delegate.cs
===================================================================
--- trunk/gtkmozembed-sharp/gtkmozembed/NewWindow_delegate.cs 2005-05-07
01:04:07 UTC (rev 44184)
+++ trunk/gtkmozembed-sharp/gtkmozembed/NewWindow_delegate.cs 2005-05-07
01:57:11 UTC (rev 44185)
@@ -1,71 +0,0 @@
-// This file was generated by the Gtk# code generator.
-// Any changes made will be lost if regenerated.
-
-namespace GtkSharp {
-
- using System;
- using System.Runtime.InteropServices;
- using GLib;
-
- internal delegate void voidObjectObjectuintDelegate(IntPtr arg0, IntPtr
arg1, uint arg2, int key);
-
- internal class voidObjectObjectuintSignal : SignalCallback {
-
- private static voidObjectObjectuintDelegate _Delegate;
-
- private IntPtr _raw;
- private uint _HandlerID;
-
- private static void voidObjectObjectuintCallback(IntPtr arg0,
IntPtr arg1, uint arg2, int key)
- {
- if (!_Instances.Contains(key))
- throw new Exception("Unexpected signal key " +
key);
-
- voidObjectObjectuintSignal inst =
(voidObjectObjectuintSignal) _Instances[key];
- SignalArgs args = (SignalArgs) Activator.CreateInstance
(inst._argstype);
- args.Args = new object[2];
-
- // Ok, so arg1 is set by the signal handler...
- // We can pass a null, and get an object back
-
- args.Args[0] = null;
- args.Args[1] = arg2;
-
- object[] argv = new object[2];
- argv[0] = inst._obj;
- argv[1] = args;
- inst._handler.DynamicInvoke(argv);
- // And put the object back...
- arg1 = ((GLib.Object)args.Args[0]).Handle;
- }
-
- [DllImport("libgobject-2.0-0.dll")]
- static extern uint g_signal_connect_data(IntPtr obj, string
name, voidObjectObjectuintDelegate cb, int key, IntPtr p, int flags);
-
- public voidObjectObjectuintSignal(GLib.Object obj, IntPtr raw,
string name, Delegate eh, Type argstype, int connect_flags) : base(obj, eh,
argstype)
- {
- if (_Delegate == null) {
- _Delegate = new
voidObjectObjectuintDelegate(voidObjectObjectuintCallback);
- }
- _raw = raw;
- _HandlerID = g_signal_connect_data(raw, name,
_Delegate, _key, new IntPtr(0), connect_flags);
- }
-
- [DllImport("libgobject-2.0-0.dll")]
- static extern void g_signal_handler_disconnect (IntPtr
instance, uint handler);
-
- [DllImport("libgobject-2.0-0.dll")]
- static extern bool g_signal_handler_is_connected (IntPtr
instance, uint handler);
-
- protected override void Dispose (bool disposing)
- {
- _Instances.Remove(_key);
- if(_Instances.Count == 0)
- _Delegate = null;
-
- if (g_signal_handler_is_connected (_raw, _HandlerID))
- g_signal_handler_disconnect (_raw, _HandlerID);
- base.Dispose (disposing);
- }
- }
-}
Deleted: trunk/gtkmozembed-sharp/gtkmozembed/NewWindow_handler.cs
===================================================================
--- trunk/gtkmozembed-sharp/gtkmozembed/NewWindow_handler.cs 2005-05-07
01:04:07 UTC (rev 44184)
+++ trunk/gtkmozembed-sharp/gtkmozembed/NewWindow_handler.cs 2005-05-07
01:57:11 UTC (rev 44185)
@@ -1,24 +0,0 @@
-// This file was generated by the Gtk# code generator.
-// Any changes made will be lost if regenerated.
-
-namespace Gecko {
-
- using System;
-
- public delegate void NewWindowHandler(object o, NewWindowArgs args);
-
- public class NewWindowArgs : GLib.SignalArgs {
- public Gecko.WebControl NewEmbed{
- set {
- Args[0] = (Gecko.WebControl) value;
- }
- }
-
- public uint Chromemask{
- get {
- return (uint) Args[1];
- }
- }
-
- }
-}
Deleted: trunk/gtkmozembed-sharp/gtkmozembed/Single.custom
===================================================================
--- trunk/gtkmozembed-sharp/gtkmozembed/Single.custom 2005-05-07 01:04:07 UTC
(rev 44184)
+++ trunk/gtkmozembed-sharp/gtkmozembed/Single.custom 2005-05-07 01:57:11 UTC
(rev 44185)
@@ -1,25 +0,0 @@
-/*
- [GLib.Signal("new_window_orphan")]
- public event GtkMozEmbedSharp.NewWindowOrphanHandler
NewWindowOrphan {
- add {
- if (EventList["new_window_orphan"] == null)
- Signals["new_window_orphan"] = new
GtkMozEmbedSharp.voidObjectObjectuintSignal(this, Handle, "new_window_orphan",
value,
System.Type.GetType("GtkMozEmbedSharp.NewWindowOrphanArgs,gtkmozembed-sharp"));
- else
- ((GtkSharp.SignalCallback) Signals
["new_window_orphan"]).AddDelegate (value);
- EventList.AddHandler("new_window_orphan",
value);
- }
- remove {
- EventList.RemoveHandler("new_window_orphan",
value);
- GtkSharp.SignalCallback cb = Signals
["new_window_orphan"] as GtkSharp.SignalCallback;
- if (cb == null)
- return;
-
- cb.RemoveDelegate (value);
-
- if (EventList["new_window_orphan"] == null) {
- Signals.Remove("new_window_orphan");
- cb.Dispose ();
- }
- }
- }
-*/
Modified: trunk/gtkmozembed-sharp/gtkmozembed/WebControl.custom
===================================================================
--- trunk/gtkmozembed-sharp/gtkmozembed/WebControl.custom 2005-05-07
01:04:07 UTC (rev 44184)
+++ trunk/gtkmozembed-sharp/gtkmozembed/WebControl.custom 2005-05-07
01:57:11 UTC (rev 44185)
@@ -1,72 +1,3 @@
- delegate void NewWindowDelegate (IntPtr embed, IntPtr newEmbed,
uint chromemask);
-
- static NewWindowDelegate NewWindowCallback;
-
- static void newwindow_cb (IntPtr embed, IntPtr newEmbed, uint
chromemask)
- {
- WebControl obj = GLib.Object.GetObject (embed, false)
as WebControl;
- obj.OnNewWindow ((Gecko.WebControl)
GLib.Object.GetObject(newEmbed), chromemask);
- }
-
- protected static void OverrideNewWindow (GLib.GType gtype)
- {
- if (NewWindowCallback == null)
- NewWindowCallback = new NewWindowDelegate
(newwindow_cb);
- OverrideVirtualMethod (gtype, "new_window",
NewWindowCallback);
- }
-
- [GLib.DefaultSignalHandler(Type=typeof(Gecko.WebControl),
ConnectionMethod="OverrideNewWindow")]
- protected virtual void OnNewWindow (Gecko.WebControl newEmbed,
uint chromemask)
- {
- GLib.ValueArray inst_and_params = new GLib.ValueArray
(3);
- GLib.Value[] vals = new GLib.Value [3];
- vals [0] = new GLib.Value (this);
- inst_and_params.Append (vals [0]);
- vals [1] = new GLib.Value (newEmbed);
- inst_and_params.Append (vals [1]);
- vals [2] = new GLib.Value (chromemask);
- inst_and_params.Append (vals [2]);
- g_signal_chain_from_overridden
(inst_and_params.ArrayPtr, ref GLib.Value.Empty);
- }
-
- [GLib.Signal("new_window")]
- public event Gecko.NewWindowHandler NewWindow {
- add {
- if
(value.Method.GetCustomAttributes(typeof(GLib.ConnectBeforeAttribute),
false).Length > 0) {
- if (BeforeHandlers["new_window"] ==
null)
- BeforeSignals["new_window"] =
new GtkSharp.voidObjectObjectuintSignal(this, Handle, "new_window", value,
System.Type.GetType("Gtk.NewWindowArgs,gtkmozembed-sharp"), 0);
- else
- ((GLib.SignalCallback)
BeforeSignals ["new_window"]).AddDelegate (value);
- BeforeHandlers.AddHandler("new_window",
value);
- } else {
- if (AfterHandlers["new_window"] == null)
- AfterSignals["new_window"] =
new GtkSharp.voidObjectObjectuintSignal(this, Handle, "new_window", value,
System.Type.GetType("Gtk.NewWindowArgs,gtkmozembed-sharp"), 1);
- else
- ((GLib.SignalCallback)
AfterSignals ["new_window"]).AddDelegate (value);
- AfterHandlers.AddHandler("new_window",
value);
- }
- }
- remove {
- System.ComponentModel.EventHandlerList
event_list = AfterHandlers;
- Hashtable signals = AfterSignals;
- if
(value.Method.GetCustomAttributes(typeof(GLib.ConnectBeforeAttribute),
false).Length > 0) {
- event_list = BeforeHandlers;
- signals = BeforeSignals;
- }
- GLib.SignalCallback cb = signals ["new_window"]
as GLib.SignalCallback;
- event_list.RemoveHandler("new_window", value);
- if (cb == null)
- return;
-
- cb.RemoveDelegate (value);
-
- if (event_list["new_window"] == null) {
- signals.Remove("new_window");
- cb.Dispose ();
- }
- }
- }
-
[DllImport("gtkembedmoz.dll")]
static extern IntPtr gtk_moz_embed_new();
Modified: trunk/gtkmozembed-sharp/gtkmozembed/gtkgecko.metadata
===================================================================
--- trunk/gtkmozembed-sharp/gtkmozembed/gtkgecko.metadata 2005-05-07
01:04:07 UTC (rev 44184)
+++ trunk/gtkmozembed-sharp/gtkmozembed/gtkgecko.metadata 2005-05-07
01:57:11 UTC (rev 44185)
@@ -11,8 +11,10 @@
<attr path="/api/namespace/[EMAIL PROTECTED]'GtkMozEmbed']/[EMAIL
PROTECTED]'ChromeFlagsGetType']" name="hidden">1</attr>
-<!-- Hide new_window, since it needs special marshalling -->
- <attr path="/api/namespace/[EMAIL PROTECTED]'GtkMozEmbed']/[EMAIL
PROTECTED]'new_window']" name="hidden">1</attr>
+<!-- Fixup new_window, since it needs special marshalling -->
+ <attr path="/api/namespace/[EMAIL PROTECTED]'GtkMozEmbed']/[EMAIL
PROTECTED]'new_window']/*/[EMAIL PROTECTED]'GtkMozEmbed**']"
name="pass_as">out</attr>
+
+<!-- Useless, really... -->
<attr path="/api/namespace/[EMAIL PROTECTED]'GtkMozEmbedSingle']/[EMAIL
PROTECTED]'new_window_orphan']" name="hidden">1</attr>
<!-- Fix the open_uri signal slightly -->
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches