corrade-vassal – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 vero 1 using System;
2 using System.Collections;
3 using System.Runtime.InteropServices;
4  
5 namespace IgeMacIntegration
6 {
7  
8 public class IgeMacMenu
9 {
10  
11 [DllImport("libigemacintegration.dylib")]
12 static extern void ige_mac_menu_connect_window_key_handler(IntPtr window);
13  
14 public static void ConnectWindowKeyHandler(Gtk.Window window)
15 {
16 ige_mac_menu_connect_window_key_handler(window.Handle);
17 }
18  
19 [DllImport("libigemacintegration.dylib")]
20 static extern void ige_mac_menu_set_global_key_handler_enabled(bool enabled);
21  
22 public static bool GlobalKeyHandlerEnabled
23 {
24 set
25 {
26 ige_mac_menu_set_global_key_handler_enabled(value);
27 }
28 }
29  
30 [DllImport("libigemacintegration.dylib")]
31 static extern void ige_mac_menu_set_menu_bar(IntPtr menu_shell);
32  
33 public static Gtk.MenuShell MenuBar
34 {
35 set
36 {
37 ige_mac_menu_set_menu_bar(value == null ? IntPtr.Zero : value.Handle);
38 }
39 }
40  
41 [DllImport("libigemacintegration.dylib")]
42 static extern void ige_mac_menu_set_quit_menu_item(IntPtr quit_item);
43  
44 public static Gtk.MenuItem QuitMenuItem
45 {
46 set
47 {
48 ige_mac_menu_set_quit_menu_item(value == null ? IntPtr.Zero : value.Handle);
49 }
50 }
51  
52 [DllImport("libigemacintegration.dylib")]
53 static extern IntPtr ige_mac_menu_add_app_menu_group();
54  
55 public static IgeMacIntegration.IgeMacMenuGroup AddAppMenuGroup()
56 {
57 IntPtr raw_ret = ige_mac_menu_add_app_menu_group();
58 IgeMacIntegration.IgeMacMenuGroup ret = raw_ret == IntPtr.Zero ? null : (IgeMacIntegration.IgeMacMenuGroup)GLib.Opaque.GetOpaque(raw_ret, typeof(IgeMacIntegration.IgeMacMenuGroup), false);
59 return ret;
60 }
61 }
62  
63 public class IgeMacMenuGroup : GLib.Opaque
64 {
65  
66 [DllImport("libigemacintegration.dylib")]
67 static extern void ige_mac_menu_add_app_menu_item(IntPtr raw, IntPtr menu_item, IntPtr label);
68  
69 public void AddMenuItem(Gtk.MenuItem menu_item, string label)
70 {
71 IntPtr native_label = GLib.Marshaller.StringToPtrGStrdup(label);
72 ige_mac_menu_add_app_menu_item(Handle, menu_item == null ? IntPtr.Zero : menu_item.Handle, native_label);
73 GLib.Marshaller.Free(native_label);
74 }
75  
76 public IgeMacMenuGroup(IntPtr raw) : base(raw) { }
77 }
78 }