* glib/Value.cs: Add a constructor and an explicit cast for
string[] (using a G_TYPE_STRV boxed value). * generator/SymbolTable.cs (SymbolTable): Map GStrv to string[]. (The mapping relies on the above GLib.Value magic, so it only works correctly for properties, but that's ok, because GStrv isn't a real type anyway and only shows up in the api files for G_TYPE_STRV properties.) Makes the Gtk.AboutDialog Artists, Authors, and Documenters properties show up. * gtk/Gtk.metadata: hide AboutDialog.Get/SetArtists/Authors/Documenters, which can't be used to implement the Artists/Authors/Documenters properties, because the generated code doesn't know to NULL-terminate the arrays. svn path=/trunk/gtk-sharp/; revision=45301
This commit is contained in:
parent
6334f60e2e
commit
f6f9fd0c79
7 changed files with 207 additions and 60 deletions
18
ChangeLog
18
ChangeLog
|
@ -1,3 +1,21 @@
|
||||||
|
2005-06-01 Dan Winship <danw@novell.com>
|
||||||
|
|
||||||
|
* glib/Value.cs: Add a constructor and an explicit cast for
|
||||||
|
string[] (using a G_TYPE_STRV boxed value).
|
||||||
|
|
||||||
|
* generator/SymbolTable.cs (SymbolTable): Map GStrv to string[].
|
||||||
|
(The mapping relies on the above GLib.Value magic, so it only
|
||||||
|
works correctly for properties, but that's ok, because GStrv isn't
|
||||||
|
a real type anyway and only shows up in the api files for
|
||||||
|
G_TYPE_STRV properties.) Makes the Gtk.AboutDialog Artists,
|
||||||
|
Authors, and Documenters properties show up.
|
||||||
|
|
||||||
|
* gtk/Gtk.metadata: hide
|
||||||
|
AboutDialog.Get/SetArtists/Authors/Documenters, which can't be
|
||||||
|
used to implement the Artists/Authors/Documenters properties,
|
||||||
|
because the generated code doesn't know to NULL-terminate the
|
||||||
|
arrays.
|
||||||
|
|
||||||
2005-05-31 Mike Kestner <mkestner@novell.com>
|
2005-05-31 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
* glib/Object.cs : rework the weakref release mechanism to avoid a
|
* glib/Object.cs : rework the weakref release mechanism to avoid a
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
2005-06-01 Dan Winship <danw@novell.com>
|
||||||
|
|
||||||
|
* en/GLib/Value.xml: document the new string[] methods (and all of
|
||||||
|
the previously-undocumented explicit cast operators).
|
||||||
|
|
||||||
|
* en/Gtk/AboutDialog.xml: document Authors, Artists, Documenters.
|
||||||
|
|
||||||
2005-05-24 Dan Winship <danw@novell.com>
|
2005-05-24 Dan Winship <danw@novell.com>
|
||||||
|
|
||||||
* en/Gdk/PixdataType.xml:
|
* en/Gdk/PixdataType.xml:
|
||||||
|
|
|
@ -353,10 +353,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts a boolean value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The boolean value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -369,10 +369,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an integer value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The integer value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -385,10 +385,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an unsigned integer value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The unsigned integer value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -401,10 +401,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an unsigned short value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The unsigned short value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -417,10 +417,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts a long integer value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The long integer value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -433,10 +433,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an unsigned long integer value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The unsigned long integer value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -449,10 +449,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an enumeration value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The enumeration value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -465,10 +465,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts a floating-point value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The floating-point value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -481,10 +481,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts a double-precision floating-point value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The double-precision floating-point value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -497,10 +497,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts a string value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The string value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -513,10 +513,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an untyped pointer value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The untyped pointer value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -529,10 +529,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an opaque object value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The opaque object value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -545,10 +545,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts a boxed type value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The boxed type value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -561,10 +561,10 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an object value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The object value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
<Member MemberName="op_Explicit">
|
<Member MemberName="op_Explicit">
|
||||||
|
@ -577,10 +577,38 @@
|
||||||
<Parameter Name="val" Type="GLib.Value" />
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
</Parameters>
|
</Parameters>
|
||||||
<Docs>
|
<Docs>
|
||||||
<param name="val">To be added.</param>
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
<summary>To be added.</summary>
|
<summary>Extracts an unwrapped object value from a <see cref="T:GLib.Value" />.</summary>
|
||||||
<returns>To be added.</returns>
|
<returns>The unwrapped object value.</returns>
|
||||||
<remarks>To be added.</remarks>
|
<remarks />
|
||||||
|
</Docs>
|
||||||
|
</Member>
|
||||||
|
<Member MemberName=".ctor">
|
||||||
|
<MemberSignature Language="C#" Value="public Value (string[] val);" />
|
||||||
|
<MemberType>Constructor</MemberType>
|
||||||
|
<Parameters>
|
||||||
|
<Parameter Name="val" Type="System.String[]" />
|
||||||
|
</Parameters>
|
||||||
|
<Docs>
|
||||||
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
|
<summary>Constructs a Value from a specified string array.</summary>
|
||||||
|
<remarks />
|
||||||
|
</Docs>
|
||||||
|
</Member>
|
||||||
|
<Member MemberName="op_Explicit">
|
||||||
|
<MemberSignature Language="C#" Value="public static string[] op_Explicit (GLib.Value val);" />
|
||||||
|
<MemberType>Method</MemberType>
|
||||||
|
<ReturnValue>
|
||||||
|
<ReturnType>System.String[]</ReturnType>
|
||||||
|
</ReturnValue>
|
||||||
|
<Parameters>
|
||||||
|
<Parameter Name="val" Type="GLib.Value" />
|
||||||
|
</Parameters>
|
||||||
|
<Docs>
|
||||||
|
<param name="val">a <see cref="T:GLib.Value" /></param>
|
||||||
|
<summary>Extracts a string array from a <see cref="T:GLib.Value" />.</summary>
|
||||||
|
<returns>The string array value.</returns>
|
||||||
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
</Members>
|
</Members>
|
||||||
|
|
|
@ -287,5 +287,56 @@ To make constructing a <see cref="T:Gtk.AboutDialog" /> as convenient as possibl
|
||||||
<remarks />
|
<remarks />
|
||||||
</Docs>
|
</Docs>
|
||||||
</Member>
|
</Member>
|
||||||
|
<Member MemberName="Documenters">
|
||||||
|
<MemberSignature Language="C#" Value="public string[] Documenters { set; get; };" />
|
||||||
|
<MemberType>Property</MemberType>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute>
|
||||||
|
<AttributeName>GLib.Property(Name="documenters")</AttributeName>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
<ReturnValue>
|
||||||
|
<ReturnType>System.String[]</ReturnType>
|
||||||
|
</ReturnValue>
|
||||||
|
<Docs>
|
||||||
|
<summary>The people documenting the program.</summary>
|
||||||
|
<value>a <see cref="T:System.String[]" />.</value>
|
||||||
|
<remarks>Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.</remarks>
|
||||||
|
</Docs>
|
||||||
|
</Member>
|
||||||
|
<Member MemberName="Authors">
|
||||||
|
<MemberSignature Language="C#" Value="public string[] Authors { set; get; };" />
|
||||||
|
<MemberType>Property</MemberType>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute>
|
||||||
|
<AttributeName>GLib.Property(Name="authors")</AttributeName>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
<ReturnValue>
|
||||||
|
<ReturnType>System.String[]</ReturnType>
|
||||||
|
</ReturnValue>
|
||||||
|
<Docs>
|
||||||
|
<summary>The authors of the program.</summary>
|
||||||
|
<value>a <see cref="T:System.String[]" />.</value>
|
||||||
|
<remarks>Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.</remarks>
|
||||||
|
</Docs>
|
||||||
|
</Member>
|
||||||
|
<Member MemberName="Artists">
|
||||||
|
<MemberSignature Language="C#" Value="public string[] Artists { set; get; };" />
|
||||||
|
<MemberType>Property</MemberType>
|
||||||
|
<Attributes>
|
||||||
|
<Attribute>
|
||||||
|
<AttributeName>GLib.Property(Name="artists")</AttributeName>
|
||||||
|
</Attribute>
|
||||||
|
</Attributes>
|
||||||
|
<ReturnValue>
|
||||||
|
<ReturnType>System.String[]</ReturnType>
|
||||||
|
</ReturnValue>
|
||||||
|
<Docs>
|
||||||
|
<summary>The people who contributed artwork to the program.</summary>
|
||||||
|
<value>a <see cref="T:System.String[]" />.</value>
|
||||||
|
<remarks>Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details.</remarks>
|
||||||
|
</Docs>
|
||||||
|
</Member>
|
||||||
</Members>
|
</Members>
|
||||||
</Type>
|
</Type>
|
||||||
|
|
|
@ -92,6 +92,7 @@ namespace GtkSharp.Generation {
|
||||||
AddType (new ConstStringGen ("const-char"));
|
AddType (new ConstStringGen ("const-char"));
|
||||||
AddType (new MarshalGen ("gchar", "string", "IntPtr", "GLib.Marshaller.StringToPtrGStrdup({0})", "GLib.Marshaller.PtrToStringGFree({0})"));
|
AddType (new MarshalGen ("gchar", "string", "IntPtr", "GLib.Marshaller.StringToPtrGStrdup({0})", "GLib.Marshaller.PtrToStringGFree({0})"));
|
||||||
AddType (new MarshalGen ("char", "string", "IntPtr", "GLib.Marshaller.StringToPtrGStrdup({0})", "GLib.Marshaller.PtrToStringGFree({0})"));
|
AddType (new MarshalGen ("char", "string", "IntPtr", "GLib.Marshaller.StringToPtrGStrdup({0})", "GLib.Marshaller.PtrToStringGFree({0})"));
|
||||||
|
AddType (new SimpleGen ("GStrv", "string[]"));
|
||||||
|
|
||||||
// manually wrapped types requiring more complex marshaling
|
// manually wrapped types requiring more complex marshaling
|
||||||
AddType (new ManualGen ("GObject", "GLib.Object", "GLib.Object.GetObject ({0})"));
|
AddType (new ManualGen ("GObject", "GLib.Object", "GLib.Object.GetObject ({0})"));
|
||||||
|
|
|
@ -167,6 +167,25 @@ namespace GLib {
|
||||||
g_value_set_boxed (ref this, val.Handle);
|
g_value_set_boxed (ref this, val.Handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Value (string[] val) : this (new GLib.GType (g_strv_get_type ()))
|
||||||
|
{
|
||||||
|
if (val == null) {
|
||||||
|
g_value_set_boxed (ref this, IntPtr.Zero);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
IntPtr native_array = Marshal.AllocHGlobal ((val.Length + 1) * IntPtr.Size);
|
||||||
|
for (int i = 0; i < val.Length; i++)
|
||||||
|
Marshal.WriteIntPtr (native_array, i * IntPtr.Size, GLib.Marshaller.StringToPtrGStrdup (val[i]));
|
||||||
|
Marshal.WriteIntPtr (native_array, val.Length * IntPtr.Size, IntPtr.Zero);
|
||||||
|
|
||||||
|
g_value_set_boxed (ref this, native_array);
|
||||||
|
|
||||||
|
for (int i = 0; i < val.Length; i++)
|
||||||
|
GLib.Marshaller.Free (Marshal.ReadIntPtr (native_array, i * IntPtr.Size));
|
||||||
|
Marshal.FreeHGlobal (native_array);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void Dispose ()
|
public void Dispose ()
|
||||||
{
|
{
|
||||||
|
@ -258,6 +277,20 @@ namespace GLib {
|
||||||
return new UnwrappedObject (g_value_get_object (ref val));
|
return new UnwrappedObject (g_value_get_object (ref val));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static explicit operator string[] (Value val)
|
||||||
|
{
|
||||||
|
IntPtr native_array = g_value_get_boxed (ref val);
|
||||||
|
if (native_array == IntPtr.Zero)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
int count = 0;
|
||||||
|
while (Marshal.ReadIntPtr (native_array, count * IntPtr.Size) != IntPtr.Zero)
|
||||||
|
count++;
|
||||||
|
string[] strings = new string[count];
|
||||||
|
for (int i = 0; i < count; i++)
|
||||||
|
strings[i] = GLib.Marshaller.Utf8PtrToString (Marshal.ReadIntPtr (native_array, i * IntPtr.Size));
|
||||||
|
return strings;
|
||||||
|
}
|
||||||
|
|
||||||
public object Val
|
public object Val
|
||||||
{
|
{
|
||||||
|
@ -437,5 +470,8 @@ namespace GLib {
|
||||||
|
|
||||||
[DllImport("libgobject-2.0-0.dll")]
|
[DllImport("libgobject-2.0-0.dll")]
|
||||||
static extern bool g_type_is_a (IntPtr type, IntPtr is_a_type);
|
static extern bool g_type_is_a (IntPtr type, IntPtr is_a_type);
|
||||||
|
|
||||||
|
[DllImport("libgobject-2.0-0.dll")]
|
||||||
|
static extern IntPtr g_strv_get_type ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,6 +109,12 @@
|
||||||
<attr path="/api/namespace/interface[@cname='GtkTreeModel']/method[@name='RowsReordered']" name="name">EmitRowsReordered</attr>
|
<attr path="/api/namespace/interface[@cname='GtkTreeModel']/method[@name='RowsReordered']" name="name">EmitRowsReordered</attr>
|
||||||
<attr path="/api/namespace/interface[@cname='GtkTreeSortable']/method[@name='SortColumnChanged']" name="name">ChangeSortColumn</attr>
|
<attr path="/api/namespace/interface[@cname='GtkTreeSortable']/method[@name='SortColumnChanged']" name="name">ChangeSortColumn</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkAccelLabel']/constructor[@cname='gtk_accel_label_new']/*/*[@name='string']" name="property_name">label</attr>
|
<attr path="/api/namespace/object[@cname='GtkAccelLabel']/constructor[@cname='gtk_accel_label_new']/*/*[@name='string']" name="property_name">label</attr>
|
||||||
|
<attr path="/api/namespace/object[@cname='GtkAboutDialog']/method[@name='GetArtists']" name="hidden">1</attr>
|
||||||
|
<attr path="/api/namespace/object[@cname='GtkAboutDialog']/method[@name='GetAuthors']" name="hidden">1</attr>
|
||||||
|
<attr path="/api/namespace/object[@cname='GtkAboutDialog']/method[@name='GetDocumenters']" name="hidden">1</attr>
|
||||||
|
<attr path="/api/namespace/object[@cname='GtkAboutDialog']/method[@name='SetArtists']" name="hidden">1</attr>
|
||||||
|
<attr path="/api/namespace/object[@cname='GtkAboutDialog']/method[@name='SetAuthors']" name="hidden">1</attr>
|
||||||
|
<attr path="/api/namespace/object[@cname='GtkAboutDialog']/method[@name='SetDocumenters']" name="hidden">1</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkAction']/signal[@name='Activate']" name="name">Activated</attr>
|
<attr path="/api/namespace/object[@cname='GtkAction']/signal[@name='Activate']" name="name">Activated</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkAction']/method[@name='GetProxies']" name="hidden">1</attr>
|
<attr path="/api/namespace/object[@cname='GtkAction']/method[@name='GetProxies']" name="hidden">1</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkAccelGroup']/method[@name='Find']/*/*[@name='find_func']" name="scope">call</attr>
|
<attr path="/api/namespace/object[@cname='GtkAccelGroup']/method[@name='Find']/*/*[@name='find_func']" name="scope">call</attr>
|
||||||
|
|
Loading…
Reference in a new issue