[DllImport ("panel-applet-2")] static extern void panel_applet_setup_menu (IntPtr handle, IntPtr xml, BonoboUIVerb[] items, IntPtr user_data); public void SetupMenu (string xml, BonoboUIVerb[] items) { BonoboUIVerb[] nulled_items = new BonoboUIVerb[items.Length + 1]; Array.Copy (items, nulled_items, items.Length); nulled_items[items.Length] = new BonoboUIVerb (null, null); IntPtr native = GLib.Marshaller.StringToPtrGStrdup (xml); panel_applet_setup_menu (Handle, native, nulled_items, IntPtr.Zero); GLib.Marshaller.Free (native); PersistentData ["setup_menu_verbs"] = items; } public abstract void Creation (); public abstract string IID { get; } public abstract string FactoryIID { get; }