[Mono-list] GTK# Patch for TreeStore, ListStore, and TextIter
Kristian Rietveld
kris@gtk.org
21 Nov 2002 19:18:36 +0100
On Thu, 2002-11-21 at 04:12, Daniel Morgan wrote:
> SetColumnTypes should be an array like the GTK+ 2.0 API says:
Oh blah I see now. Dunno why I was comparing this function with the
constructors .... I guess I was already sleeping...
apologies,
Kris
>
> gtk_list_store_set_column_types ()
> void gtk_list_store_set_column_types (GtkListStore *list_store,
> gint n_columns,
> GType *types);
>
> This function is meant primarily for GObjects that inherit from
> GtkListStore, and should only be used when constructing a new GtkListStore.
> It will not function after a row has been added, or a method on the
> GtkTreeModel interface is called.
>
> list_store : A GtkListStore
> n_columns : Number of columns for the list store
> types : An array length n of GTypes
>
> It does not mention var_args.
>
> This is what I am trying to create with the Gtk.Metadata for
> ListStore.SetColumnTypes:
>
> [DllImport ("libgtk-win32-2.0-0.dll")]
> static extern void gtk_list_store_set_column_types (IntPtr raw,
> int n_columns, int[] types);
>
> public void SetColumnTypes(int[] types) {
> gtk_list_store_set_column_types (Handle, n_columns, types);
> }
>
> This works for me in the DataGrid in SQL# For GTK#.
>
> The var_args you are talking about are params in C#.
>
> Moreover, I think it is correct for SetColumnTypes to use an array.
>
> Mike Kestner said he would test this for me, all I had to do was supply a
> patch for him.
>
> -----Original Message-----
> From: mono-list-admin@ximian.com [mailto:mono-list-admin@ximian.com]On
> Behalf Of Kristian Rietveld
> Sent: Wednesday, November 20, 2002 7:13 PM
> To: Daniel Morgan
> Cc: Mike Kestner; Mono-List
> Subject: Re: [Mono-list] GTK# Patch for TreeStore, ListStore, and
> TextIter
>
>
> On Wed, 2002-11-20 at 20:56, Daniel Morgan wrote:
> > Hey Mike,
> >
> > I have a patch for gtk-sharp/sources/Gtk.metadata.
> >
> > The patch has 3 fixes:
> >
> > 1. for TreeStore method SetColumnTypes, make the int types parameter an
> > array.
> > 2. for ListStore method SetColumnTypes, make the int types parameter an
> > array.
> > 3. for TextIter method ForwardSearch, make the TextIter parameters
> > match_start and
> > match_end to be out.
> >
> > For 3., I'm sure there are other "search" methods that need fixing, but I
> > want to see how this fix works first.
> >
> > Are these okay?
> >
> > Thanks,
> > Daniel
> > ----
>
> Hello,
>
> Miguel asked me to review your patch. My comments are below
>
>
> > Index: Gtk.metadata
> > ===================================================================
> > RCS file: /cvs/public/gtk-sharp/sources/Gtk.metadata,v
> > retrieving revision 1.26
> > diff -u -r1.26 Gtk.metadata
> > --- Gtk.metadata 10 Nov 2002 10:03:51 -0000 1.26
> > +++ Gtk.metadata 20 Nov 2002 19:35:53 -0000
> > @@ -30,6 +30,25 @@
> > </attribute>
> > </data>
> > </rule>
> > +
> > +<rule>
> > + <class name="GtkTextIter">
> > + <method>ForwardSearch</method>
> > + </class>
> > + <data>
> > + <attribute target="param">
> > + <filter level="name">match_start</filter>
> > + <name>pass_as</name>
> > + <value>out</value>
> > + </attribute>
> > + <attribute target="param">
> > + <filter level="name">match_end</filter>
> > + <name>pass_as</name>
> > + <value>out</value>
> > + </attribute>
> > + </data>
> > +</rule>
> > +
>
> This fix looks fine, I think you immediately can also commit a likewise
> fix for BackwardSearch. (and yes, there certainly are more textiter
> methods which need fixing ...)
>
> > <rule>
> > <class name="GtkEditable">
> > <method>InsertText</method>
> > @@ -59,6 +78,30 @@
> > </attribute>
> > </data>
> > </rule>
> > +<rule>
> > + <class name="GtkListStore">
> > + <method>SetColumnTypes</method>
> > + </class>
> > + <data>
> > + <attribute target="param">
> > + <filter level="name">types</filter>
> > + <name>array</name>
> > + <value>true</value>
> > + </data>
> > +</rule>
> > +
> > +<rule>
> > + <class name="GtktTreeStore">
> ^
> > + <method>SetColumnTypes</method>
> > + </class>
> > + <data>
> > + <attribute target="param">
> > + <filter level="name">types</filter>
> > + <name>array</name>
> > + <value>true</value>
> > + </data>
> > +</rule>
> > +
>
> I'm not sure about these. I'm feeling that they are wrong. I guess they
> need the bit of var_arg magic like the {List,Tree}Store constructors
> have.
>
> A good way to test your changes to the metadata file is to regenerate
> the autogenned sources and look how the generated functions look like.
>
>
> regards,
>
>
> Kris
>
>
> (I'm feeling that I'm not being clear. If so, please tell me and I will
> try to rewrite this message :)
>
> > <rule>
> > <class name="GtkTreeModelSort">
> > <method>ConvertChildIterToIter</method>
>
>
> _______________________________________________
> Mono-list maillist - Mono-list@ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list