<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1373</id>
	<title>Nabble - Mono - Gtk#</title>
	<updated>2009-11-25T12:28:14Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Mono---Gtk--f1373.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Mono---Gtk--f1373.html" />
	<subtitle type="html">Used to discuss the Gtk bindings for Mono.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26519760</id>
	<title>Re: Exclusive button group (vbuttonbox)?</title>
	<published>2009-11-25T12:28:14Z</published>
	<updated>2009-11-25T12:28:14Z</updated>
	<author>
		<name>Michael Hutchinson</name>
	</author>
	<content type="html">On Wed, Nov 25, 2009 at 12:20 PM, Chuck Esterbrook
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519760&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;chuck.esterbrook@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; For the list of files, I used a Gtk.NodeView. Overall it works well,
&lt;br&gt;&amp;gt; but on the downside, NodeView reserves some space for an icon that I'm
&lt;br&gt;&amp;gt; not currently using.
&lt;br&gt;&lt;br&gt;I suspect that space is for expanders, not icons. You could get rid of
&lt;br&gt;it by instead using a TreeView and a ListStore, or by setting
&lt;br&gt;ShowExpanders to false.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Michael Hutchinson
&lt;br&gt;&lt;a href=&quot;http://mjhutchinson.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mjhutchinson.com&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26519760&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Exclusive-button-group-%28vbuttonbox%29--tp26511947p26519760.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26518378</id>
	<title>Re: Exclusive button group (vbuttonbox)?</title>
	<published>2009-11-25T10:58:18Z</published>
	<updated>2009-11-25T10:58:18Z</updated>
	<author>
		<name>Martin Brodbeck-3</name>
	</author>
	<content type="html">Hi Chuck,
&lt;br&gt;&lt;br&gt;&amp;gt; I'm also a GTK# newbie and working on the same thing. So this could be
&lt;br&gt;&amp;gt; the blind leading the blind, but here we go anyway:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; For the list of files, I used a Gtk.NodeView. Overall it works well,
&lt;br&gt;&amp;gt; but on the downside, NodeView reserves some space for an icon that I'm
&lt;br&gt;&amp;gt; not currently using.
&lt;br&gt;&lt;br&gt;That's funny because I did exactly the same thing in the meantime. But I can 
&lt;br&gt;not confirm the icon-space problem. As a first step, this solution is good 
&lt;br&gt;enough for me...
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; Both of these are described if you poke around
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.mono-project.com/GtkSharpTutorials&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.mono-project.com/GtkSharpTutorials&lt;/a&gt;&lt;br&gt;&lt;br&gt;Yes, This is what I have used, too. (Especially &lt;a href=&quot;http://www.mono-&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.mono-&lt;/a&gt;&lt;br&gt;project.com/GtkSharpNodeViewTutorial in this case.)
&lt;br&gt;&lt;br&gt;&amp;gt; I hope that helps,
&lt;br&gt;&lt;br&gt;Yes, thanks a lot!
&lt;br&gt;&lt;br&gt;Martin
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26518378&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Exclusive-button-group-%28vbuttonbox%29--tp26511947p26518378.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26517795</id>
	<title>Newbie tip: GTK# Primer</title>
	<published>2009-11-25T10:18:43Z</published>
	<updated>2009-11-25T10:18:43Z</updated>
	<author>
		<name>Chuck Esterbrook</name>
	</author>
	<content type="html">Even after browsing the various materials about GTK# online, I have
&lt;br&gt;found it useful to read the two GTK# chapters in the book &amp;quot;Mono: A
&lt;br&gt;Developer's Notebook&amp;quot;.
&lt;br&gt;&lt;br&gt;And I got this tip my lurking in IRC channels like #mono and #gtk+ and
&lt;br&gt;#gtk# on irc.gnome.org. Although the #gtk# channel is kind of empty.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hope that helps,
&lt;br&gt;&lt;br&gt;-Chuck
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26517795&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Newbie-tip%3A-GTK--Primer-tp26517795p26517795.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26516759</id>
	<title>Re: Exclusive button group (vbuttonbox)?</title>
	<published>2009-11-25T09:20:51Z</published>
	<updated>2009-11-25T09:20:51Z</updated>
	<author>
		<name>Chuck Esterbrook</name>
	</author>
	<content type="html">On Wed, Nov 25, 2009 at 4:22 AM, Martin Brodbeck
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516759&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;martin@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; first of all, I'm very new to Mono/MonoDevelop/GTK#, and this is certainly a
&lt;br&gt;&amp;gt; typical newbie question.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I would like to have a the following in my main window:
&lt;br&gt;&amp;gt; - a notebook widget on the right
&lt;br&gt;&amp;gt; - a kind of navigation bar on the left, which selects the displayed notebook
&lt;br&gt;&amp;gt; page.
&lt;br&gt;&lt;br&gt;Hi Martin,
&lt;br&gt;&lt;br&gt;I'm also a GTK# newbie and working on the same thing. So this could be
&lt;br&gt;the blind leading the blind, but here we go anyway:
&lt;br&gt;&lt;br&gt;For the list of files, I used a Gtk.NodeView. Overall it works well,
&lt;br&gt;but on the downside, NodeView reserves some space for an icon that I'm
&lt;br&gt;not currently using.
&lt;br&gt;&lt;br&gt;In the long run, my left nav column may become a VBox containing the
&lt;br&gt;NodeView and other things. You can put whatever you want inside a
&lt;br&gt;VBox.
&lt;br&gt;&lt;br&gt;Both of these are described if you poke around
&lt;br&gt;&lt;a href=&quot;http://www.mono-project.com/GtkSharpTutorials&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.mono-project.com/GtkSharpTutorials&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I hope that helps,
&lt;br&gt;&lt;br&gt;-Chuck
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516759&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Exclusive-button-group-%28vbuttonbox%29--tp26511947p26516759.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26511947</id>
	<title>Exclusive button group (vbuttonbox)?</title>
	<published>2009-11-25T04:22:52Z</published>
	<updated>2009-11-25T04:22:52Z</updated>
	<author>
		<name>Martin Brodbeck-3</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;first of all, I'm very new to Mono/MonoDevelop/GTK#, and this is certainly a 
&lt;br&gt;typical newbie question. 
&lt;br&gt;&lt;br&gt;I would like to have a the following in my main window:
&lt;br&gt;- a notebook widget on the right
&lt;br&gt;- a kind of navigation bar on the left, which selects the displayed notebook 
&lt;br&gt;page.
&lt;br&gt;&lt;br&gt;For the navigation bar, I chose a VButtonBox. My problem is now that I would 
&lt;br&gt;like to have exclusively checkable (toggle) buttons in the VButtonBox. I guess 
&lt;br&gt;something similar is used in the Evolution mail client in order to switch 
&lt;br&gt;between Mail, Contact, Kalendar, and so on.
&lt;br&gt;(I think Qt has a QButtonGroup and/or QGroupBox which does exactly what I 
&lt;br&gt;want.)
&lt;br&gt;&lt;br&gt;So far, I only managed to get a VButtonBox with &amp;quot;normal&amp;quot; buttons (with the 
&lt;br&gt;MonoDevelop GUI designer) or - only manually - with toggle buttons ( [...] 
&lt;br&gt;vbuttonbox.Add(new Gtk.ToggleButton(&amp;quot;Test&amp;quot;)); [...] ), but these buttons are 
&lt;br&gt;not exclusive.
&lt;br&gt;&lt;br&gt;Or am I on the wrong track? How can I come up to this kind of navigation bar?
&lt;br&gt;&lt;br&gt;Thanks a lot
&lt;br&gt;Martin
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26511947&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Exclusive-button-group-%28vbuttonbox%29--tp26511947p26511947.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26469544</id>
	<title>Re: Gdk.Pixbuf.FromDrawable broken?</title>
	<published>2009-11-22T12:24:28Z</published>
	<updated>2009-11-22T12:24:28Z</updated>
	<author>
		<name>nivels</name>
	</author>
	<content type="html">Thank you,&lt;br&gt;I&amp;#39;m working with Ubuntu Linux 9.10, with Monodevelop.&lt;br&gt;Setting the var GDK_NATIVE_WINDOWS=true don&amp;#39;t change anything...&lt;br&gt;&lt;br&gt;Where can the error come from?&lt;br&gt;I tried it in an fresh installed VBox-Installation to, the same thing :/&lt;br&gt;
&lt;br&gt;thank you!&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/21 Stephane Delcroix &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26469544&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;stephane@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;works fine here.&lt;br&gt;
what&amp;#39;s your version of gtk+/gdk ?&lt;br&gt;
&lt;br&gt;
try setting the env var GDK_NATIVE_WINDOWS=true&lt;br&gt;
&lt;br&gt;
regards&lt;br&gt;
&lt;br&gt;
s&lt;br&gt;
&lt;br&gt;
On Fri, 2009-11-20 at 15:26 -0800, nivels wrote:&lt;br&gt;
&amp;gt; Hi,&lt;br&gt;
&amp;gt; i have little problem with getting a pixbuf from a widget.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; So with the attached Code, i&amp;#39;m able to get a Gdk.Pixbuf from a widget, but&lt;br&gt;
&amp;gt; when i show it in a Gtk.Image it looks &amp;quot;broken&amp;quot;.&lt;br&gt;
&amp;gt; I googled a lot in the last few days, but i&amp;#39;m not able to find a solution.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I Uploaded a file that you can see what i mean.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thank you!&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; using System;&lt;br&gt;
&amp;gt; using Gtk;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; namespace getfromdrawablemono&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt;       class MainClass&lt;br&gt;
&amp;gt;       {&lt;br&gt;
&amp;gt;               public static void Main (string[] args)&lt;br&gt;
&amp;gt;               {&lt;br&gt;
&amp;gt;                       Application.Init ();&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                       Gtk.Window win = new Gtk.Window(&amp;quot;Test&amp;quot;);&lt;br&gt;
&amp;gt;                       Gtk.VBox vbox = new Gtk.VBox(false,10);&lt;br&gt;
&amp;gt;                       Gtk.HBox hbox = new Gtk.HBox(true,10);&lt;br&gt;
&amp;gt;                       Gtk.Button btn_click = new Gtk.Button(Gtk.Stock.Add);&lt;br&gt;
&amp;gt;                       Gtk.Button btn_src = new Gtk.Button(Gtk.Stock.Copy);&lt;br&gt;
&amp;gt;                       Gtk.Image img_dest = new Gtk.Image();&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                       win.Add(vbox);&lt;br&gt;
&amp;gt;                       vbox.PackStart(btn_click,false,false,2);&lt;br&gt;
&amp;gt;                       vbox.PackStart(hbox,true,true,2);&lt;br&gt;
&amp;gt;                       hbox.PackStart(btn_src,false,true,2);&lt;br&gt;
&amp;gt;                       hbox.PackStart(img_dest,true,true,2);&lt;br&gt;
&amp;gt;                       win.DefaultHeight = 200;&lt;br&gt;
&amp;gt;                       win.DefaultWidth = 200;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                       win.Destroyed += delegate {&lt;br&gt;
&amp;gt;                               Application.Quit();&lt;br&gt;
&amp;gt;                       };&lt;br&gt;
&amp;gt;                       btn_click.Clicked += delegate(object sender, EventArgs e) {&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                               int x,y,width,height,dept;&lt;br&gt;
&amp;gt;                               btn_src.GdkWindow.GetGeometry(out x,out y,out width,out height, out&lt;br&gt;
&amp;gt; dept);&lt;br&gt;
&amp;gt;                               int x2,y2,width2,height2,dept2;&lt;br&gt;
&amp;gt;                               img_dest.GdkWindow.GetGeometry(out x2,out y2,out width2,out height2, out&lt;br&gt;
&amp;gt; dept2);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                               Gdk.Pixbuf pb;&lt;br&gt;
&amp;gt;                               pb =&lt;br&gt;
&amp;gt; Gdk.Pixbuf.FromDrawable(btn_src.GdkWindow,btn_src.GdkWindow.Colormap , x , y&lt;br&gt;
&amp;gt; ,0 ,0,width,height);&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                               img_dest.Pixbuf = pb;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                       };&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                       win.ShowAll();&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;                       Application.Run ();&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;               }&lt;br&gt;
&amp;gt;       }&lt;br&gt;
&amp;gt; } &lt;a href=&quot;http://old.nabble.com/file/p26451912/Bildschirmfoto-2.png&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/file/p26451912/Bildschirmfoto-2.png&lt;/a&gt;&lt;br&gt;
&amp;gt; Bildschirmfoto-2.png&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26469544&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gdk.Pixbuf.FromDrawable-broken--tp26451912p26469544.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26451912</id>
	<title>Gdk.Pixbuf.FromDrawable broken?</title>
	<published>2009-11-20T15:26:50Z</published>
	<updated>2009-11-20T15:26:50Z</updated>
	<author>
		<name>nivels</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;i have little problem with getting a pixbuf from a widget.
&lt;br&gt;&lt;br&gt;So with the attached Code, i'm able to get a Gdk.Pixbuf from a widget, but when i show it in a Gtk.Image it looks &amp;quot;broken&amp;quot;.
&lt;br&gt;I googled a lot in the last few days, but i'm not able to find a solution.
&lt;br&gt;&lt;br&gt;I Uploaded a file that you can see what i mean.
&lt;br&gt;&lt;br&gt;Thank you!
&lt;br&gt;&lt;br&gt;using System;
&lt;br&gt;using Gtk;
&lt;br&gt;&lt;br&gt;namespace getfromdrawablemono
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; class MainClass
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void Main (string[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application.Init ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Window win = new Gtk.Window(&amp;quot;Test&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.VBox vbox = new Gtk.VBox(false,10);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.HBox hbox = new Gtk.HBox(true,10);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Button btn_click = new Gtk.Button(Gtk.Stock.Add);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Button btn_src = new Gtk.Button(Gtk.Stock.Copy);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Image img_dest = new Gtk.Image();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; win.Add(vbox);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vbox.PackStart(btn_click,false,false,2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vbox.PackStart(hbox,true,true,2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hbox.PackStart(btn_src,false,true,2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hbox.PackStart(img_dest,true,true,2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; win.DefaultHeight = 200;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; win.DefaultWidth = 200;			
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; win.Destroyed += delegate {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application.Quit();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; btn_click.Clicked += delegate(object sender, EventArgs e) {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int x,y,width,height,dept;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; btn_src.GdkWindow.GetGeometry(out x,out y,out width,out height, out dept);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int x2,y2,width2,height2,dept2;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; img_dest.GdkWindow.GetGeometry(out x2,out y2,out width2,out height2, out dept2);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gdk.Pixbuf pb;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pb = Gdk.Pixbuf.FromDrawable(btn_src.GdkWindow,btn_src.GdkWindow.Colormap , x , y ,0 ,0,width,height);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; img_dest.Pixbuf = pb;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; win.ShowAll();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Application.Run ();			
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}&lt;a href=&quot;http://old.nabble.com/file/p26451912/Bildschirmfoto-2.png&quot; target=&quot;_top&quot;&gt;Bildschirmfoto-2.png&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gdk.Pixbuf.FromDrawable-broken--tp26451912p26451912.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26428157</id>
	<title>Re: How to compare the stacking orders (or z-orders) of 2 gtk windows?</title>
	<published>2009-11-19T07:23:52Z</published>
	<updated>2009-11-19T07:23:52Z</updated>
	<author>
		<name>Matt Guo</name>
	</author>
	<content type="html">Ah, after I got some help from the gtk mail list, I found it in Gdk#, it's:
&lt;br&gt;&lt;br&gt;Gdk.Screen.WindowStack.
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Thu, Nov 19, 2009 at 4:54 PM, Matt Guo &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428157&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matt@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Can I do this?
&lt;br&gt;&amp;gt; Thank you.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Matt Guo
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;B.R.
&lt;br&gt;GUO Rui (Matt)
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26428157&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-compare-the-stacking-orders-%28or-z-orders%29-of-2-gtk-windows--tp26422815p26428157.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26422815</id>
	<title>How to compare the stacking orders (or z-orders) of 2 gtk windows?</title>
	<published>2009-11-19T00:54:12Z</published>
	<updated>2009-11-19T00:54:12Z</updated>
	<author>
		<name>Matt Guo</name>
	</author>
	<content type="html">Can I do this?
&lt;br&gt;Thank you.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Matt Guo
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26422815&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-to-compare-the-stacking-orders-%28or-z-orders%29-of-2-gtk-windows--tp26422815p26422815.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26415249</id>
	<title>Re: Theming</title>
	<published>2009-11-18T12:32:55Z</published>
	<updated>2009-11-18T12:32:55Z</updated>
	<author>
		<name>Andrew York-2</name>
	</author>
	<content type="html">Thank you very much that is a great help.
&lt;br&gt;&lt;br&gt;On 11/18/2009 2:48 PM, Michael Hutchinson wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wed, Nov 18, 2009 at 8:09 AM, Andy York&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26415249&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andy@...&lt;/a&gt;&amp;gt; &amp;nbsp;wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; Thanks Michael,
&lt;br&gt;&amp;gt;&amp;gt; I would be willing to ask and for that matter help if my minor skills can be
&lt;br&gt;&amp;gt;&amp;gt; of use, I'm going to guess that the way to contact the packagers for Windows
&lt;br&gt;&amp;gt;&amp;gt; and Mac would be listed on the mono-project.com web site?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; The mono-packagers-list would probably be the place to discuss. I'm
&lt;br&gt;&amp;gt; not sure who builds for Windows, but Andrew Jorgensen handles the Mac
&lt;br&gt;&amp;gt; builds.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Also, after discovering that the Mac Mono installer had removed icon
&lt;br&gt;&amp;gt; themes to save space, Aaron Bockover put together a compact Gnome
&lt;br&gt;&amp;gt; Tango icon set for Banshee, which you can find in the banshee source
&lt;br&gt;&amp;gt; tree. This would probably be a good starting point.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26415249&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26415249.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26414460</id>
	<title>Re: Theming</title>
	<published>2009-11-18T11:48:48Z</published>
	<updated>2009-11-18T11:48:48Z</updated>
	<author>
		<name>Michael Hutchinson</name>
	</author>
	<content type="html">On Wed, Nov 18, 2009 at 8:09 AM, Andy York &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26414460&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andy@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Thanks Michael,
&lt;br&gt;&amp;gt; I would be willing to ask and for that matter help if my minor skills can be
&lt;br&gt;&amp;gt; of use, I'm going to guess that the way to contact the packagers for Windows
&lt;br&gt;&amp;gt; and Mac would be listed on the mono-project.com web site?
&lt;br&gt;&lt;br&gt;The mono-packagers-list would probably be the place to discuss. I'm
&lt;br&gt;not sure who builds for Windows, but Andrew Jorgensen handles the Mac
&lt;br&gt;builds.
&lt;br&gt;&lt;br&gt;Also, after discovering that the Mac Mono installer had removed icon
&lt;br&gt;themes to save space, Aaron Bockover put together a compact Gnome
&lt;br&gt;Tango icon set for Banshee, which you can find in the banshee source
&lt;br&gt;tree. This would probably be a good starting point.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Michael Hutchinson
&lt;br&gt;&lt;a href=&quot;http://mjhutchinson.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mjhutchinson.com&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26414460&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26414460.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26407467</id>
	<title>Re: Theming</title>
	<published>2009-11-18T05:09:25Z</published>
	<updated>2009-11-18T05:09:25Z</updated>
	<author>
		<name>Andrew York-2</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html; charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
  &lt;title&gt;&lt;/title&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
Thanks Michael,&lt;br&gt;
I would be willing to ask and for that matter help if my minor skills
can be of use, I'm going to guess that the way to contact the packagers
for Windows and Mac would be listed on the mono-project.com web site?&lt;br&gt;
&lt;br&gt;
SpoodyGoon&lt;br&gt;
&lt;br&gt;
On 11/17/2009 9:26 PM, Michael Hutchinson wrote:
&lt;blockquote cite=&quot;mid:aec34c770911171826w4cb122f2q69f8c41a40d1574b@mail.gmail.com&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;On Thu, Nov 12, 2009 at 7:18 PM, Andy York &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26407467&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andy@...&lt;/a&gt; wrote:
  &lt;/pre&gt;
  &lt;blockquote type=&quot;cite&quot;&gt;
    &lt;pre wrap=&quot;&quot;&gt;Remember this is just an opinion but I feel that the apprentice of Gtk#
applications look very nice on Linux distros like Suse, Fedora, or Ubuntu
but it always seems to&amp;nbsp; that when I look a one of my Gtk# applications on
Windows it does not look nearly as nice in a addition to missing stock
images that seem to be available in all Linux distros. Maybe I'm doing
something wrong but that is how a feel about the appearance of Gtk# on
Windows.

I am of the opinion that aesthetics are important in application development
so if I am able to make my applications look nicer on Windows I'm going to
try.
    &lt;/pre&gt;
  &lt;/blockquote&gt;
  &lt;pre wrap=&quot;&quot;&gt;
The standard GTK+ icon set is pretty small - on Linux people tend to
assume that they have the full Gnome Tango icon theme. Maybe someone
could make the argument to our packagers for including the Gnome Tango
icon theme with the GTK we ship on Mac and Windows, instead of the
standard GTK+ set.

  &lt;/pre&gt;
  &lt;pre wrap=&quot;&quot;&gt;
&lt;fieldset class=&quot;mimeAttachmentHeader&quot;&gt;&lt;/fieldset&gt;

No virus found in this incoming message.
Checked by AVG - &lt;a class=&quot;moz-txt-link-abbreviated&quot; href=&quot;http://www.avg.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.avg.com&lt;/a&gt; 
Version: 8.5.425 / Virus Database: 270.14.72/2511 - Release Date: 11/18/09 07:50:00

  &lt;/pre&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;br&gt;
&lt;div class=&quot;moz-signature&quot;&gt;-- &lt;br&gt;
&lt;meta content=&quot;text/html; charset=ISO-8859-1&quot; http-equiv=&quot;content-type&quot;&gt;
&lt;title&gt;Andy York (aka Spoody Goon)&lt;/title&gt;
&lt;p style=&quot;font-family: Helvetica,Arial; font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: 12pt;&quot;&gt;Andy
York
(aka Spoody Goon)&lt;/span&gt;&lt;br&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Jobs:&lt;/span&gt;
Guitarist, gamer, programmer, irritating brother, general evil
(evil costs extra)&lt;br&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Web Site: &lt;/span&gt;&lt;a href=&quot;http://www.brdstudio.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.brdstudio.net&lt;/a&gt;&lt;br&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Email:&lt;/span&gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26407467&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andy@...&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;border: 2px solid rgb(0, 0, 0); padding: 20px; background-color: rgb(153, 0, 0); width: 350px; font-family: Helvetica,Arial,sans-serif; text-align: center;&quot;&gt;
&lt;span style=&quot;font-weight: bold; color: white; text-transform: capitalize;&quot;&gt;Please
Note:&lt;/span&gt;
&lt;a style=&quot;color: yellow ! important;&quot; href=&quot;http://www.brdstudio.net/bccforward.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Proper
Email Forwarding Use BCC&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26407467&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26407467.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26401438</id>
	<title>Re: Theming</title>
	<published>2009-11-17T18:26:17Z</published>
	<updated>2009-11-17T18:26:17Z</updated>
	<author>
		<name>Michael Hutchinson</name>
	</author>
	<content type="html">On Thu, Nov 12, 2009 at 7:18 PM, Andy York &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26401438&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andy@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Remember this is just an opinion but I feel that the apprentice of Gtk#
&lt;br&gt;&amp;gt; applications look very nice on Linux distros like Suse, Fedora, or Ubuntu
&lt;br&gt;&amp;gt; but it always seems to  that when I look a one of my Gtk# applications on
&lt;br&gt;&amp;gt; Windows it does not look nearly as nice in a addition to missing stock
&lt;br&gt;&amp;gt; images that seem to be available in all Linux distros. Maybe I'm doing
&lt;br&gt;&amp;gt; something wrong but that is how a feel about the appearance of Gtk# on
&lt;br&gt;&amp;gt; Windows.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am of the opinion that aesthetics are important in application development
&lt;br&gt;&amp;gt; so if I am able to make my applications look nicer on Windows I'm going to
&lt;br&gt;&amp;gt; try.
&lt;/div&gt;&lt;br&gt;The standard GTK+ icon set is pretty small - on Linux people tend to
&lt;br&gt;assume that they have the full Gnome Tango icon theme. Maybe someone
&lt;br&gt;could make the argument to our packagers for including the Gnome Tango
&lt;br&gt;icon theme with the GTK we ship on Mac and Windows, instead of the
&lt;br&gt;standard GTK+ set.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Michael Hutchinson
&lt;br&gt;&lt;a href=&quot;http://mjhutchinson.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mjhutchinson.com&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26401438&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26401438.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26329121</id>
	<title>Re: Theming</title>
	<published>2009-11-12T16:18:58Z</published>
	<updated>2009-11-12T16:18:58Z</updated>
	<author>
		<name>Andrew York-2</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html; charset=UTF-8&quot; http-equiv=&quot;Content-Type&quot;&gt;
  &lt;title&gt;&lt;/title&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
Remember this is just an opinion but I feel that the apprentice of Gtk#
applications look very nice on Linux distros like Suse, Fedora, or
Ubuntu but it always seems to  that when I look a one of my Gtk#
applications on Windows it does not look nearly as nice in a addition
to missing stock images that seem to be available in all Linux distros.
Maybe I'm doing something wrong but that is how a feel about the
appearance of Gtk# on Windows.&lt;br&gt;
&lt;br&gt;
I am of the opinion that aesthetics are important in application
development so if I am able to make my applications look nicer on
Windows I'm going to try.&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
SpoodyGoon&lt;br&gt;
&lt;br&gt;
On 11/12/2009 8:33 AM, Cody Russell wrote:
&lt;blockquote cite=&quot;mid:1258032806.3682.0.camel@britten&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;On Tue, 2009-11-10 at 12:36 -0500, Andrew York wrote:
  &lt;/pre&gt;
  &lt;blockquote type=&quot;cite&quot;&gt;
    &lt;pre wrap=&quot;&quot;&gt;I have been debating this very same question, my current plans are to
specify a theme I supply for Windows rather than relying on the
default theme and to specify the images if want for the actions.
Initial tests work really well but that is just a prof-of-concept and
nothing more I'm sure there are many problems waiting to appear.

.I have the same problem I can count on the themes in Linux to help
with appearance but on the Windows side it doesn't work too well,
because it would rely on users actively seeking out and installing
themes. 
    &lt;/pre&gt;
  &lt;/blockquote&gt;
  &lt;pre wrap=&quot;&quot;&gt;
Why would you want to specify another theme, or allow users to install
other themes, than ms-windows?
  &lt;/pre&gt;
  &lt;pre wrap=&quot;&quot;&gt;
&lt;fieldset class=&quot;mimeAttachmentHeader&quot;&gt;&lt;/fieldset&gt;

No virus found in this incoming message.
Checked by AVG - &lt;a class=&quot;moz-txt-link-abbreviated&quot; href=&quot;http://www.avg.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;www.avg.com&lt;/a&gt; 
Version: 8.5.425 / Virus Database: 270.14.61/2498 - Release Date: 11/12/09 07:38:00

  &lt;/pre&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26329121&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26329121.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26318737</id>
	<title>Re: Theming</title>
	<published>2009-11-12T05:33:26Z</published>
	<updated>2009-11-12T05:33:26Z</updated>
	<author>
		<name>Cody Russell-2</name>
	</author>
	<content type="html">On Tue, 2009-11-10 at 12:36 -0500, Andrew York wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I have been debating this very same question, my current plans are to
&lt;br&gt;&amp;gt; specify a theme I supply for Windows rather than relying on the
&lt;br&gt;&amp;gt; default theme and to specify the images if want for the actions.
&lt;br&gt;&amp;gt; Initial tests work really well but that is just a prof-of-concept and
&lt;br&gt;&amp;gt; nothing more I'm sure there are many problems waiting to appear.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; .I have the same problem I can count on the themes in Linux to help
&lt;br&gt;&amp;gt; with appearance but on the Windows side it doesn't work too well,
&lt;br&gt;&amp;gt; because it would rely on users actively seeking out and installing
&lt;br&gt;&amp;gt; themes. 
&lt;/div&gt;&lt;br&gt;Why would you want to specify another theme, or allow users to install
&lt;br&gt;other themes, than ms-windows?
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26318737&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26318737.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26315300</id>
	<title>Re: My Window don't detect Mouse click</title>
	<published>2009-11-12T02:34:30Z</published>
	<updated>2009-11-12T02:34:30Z</updated>
	<author>
		<name>farolfo</name>
	</author>
	<content type="html">Fix the problem with eventbox class. The code is this
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Public Sub New()
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MyBase.New(&amp;quot;ScreenWindow&amp;quot;)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim MySep As String
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If isUnixOS() = True Then
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MySep = &amp;quot;/&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Else
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MySep = &amp;quot;\&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; desktop.Init(Me)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ScreenSurface = New EventBox
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ScreenSurface.SetSizeRequest(ScreenRectangle.Width, ScreenRectangle.Height)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.Add(ScreenSurface)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.SetPosition(Gtk.WindowPosition.Mouse)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.Move(0, 0)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.SetDefaultSize(ScreenRectangle.Width, ScreenRectangle.Height)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.Decorated = False
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.DoubleBuffered = True
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Window.SetDefaultIconFromFile(My.Application.Info.DirectoryPath + MySep + &amp;quot;Icon.ico&amp;quot;)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ModifyBg(StateType.Normal, New Gdk.Color(0, 0, 0))
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.ShowAll()
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GLib.Timeout.Add(50, New GLib.TimeoutHandler(AddressOf RefreshUI))
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AppMode = 1
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddHandler ScreenSurface.ButtonPressEvent, AddressOf ScreenSurfaceBtnDownEvent
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddHandler ScreenSurface.ButtonReleaseEvent, AddressOf ScreenSurfaceBtnUpEvent
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; End Sub</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/My-Window-don%27t-detect-Mouse-click-tp26302164p26315300.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26311126</id>
	<title>Re: Theming</title>
	<published>2009-11-11T15:57:09Z</published>
	<updated>2009-11-11T15:57:09Z</updated>
	<author>
		<name>Michael Hutchinson</name>
	</author>
	<content type="html">On Tue, Nov 10, 2009 at 11:01 AM, Vladimir Giszpenc
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311126&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vladimir.giszpenc@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; After developing an app on Linux that targeted Linux, I oversold GTK's
&lt;br&gt;&amp;gt; ability to run on Windows and Mac.  It runs but it looks very foreign.  The
&lt;br&gt;&amp;gt; tubes say different things about how theming will/does work.  Is there a
&lt;br&gt;&amp;gt; sample, tutorial or how to on getting my app to look a little more native on
&lt;br&gt;&amp;gt; Windows [and the Mac]?  I thought a native theme would automagically get
&lt;br&gt;&amp;gt; used but I was sadly disappointed.  My next assumption is that Gtk# will
&lt;br&gt;&amp;gt; make this easy and painless.
&lt;br&gt;&lt;br&gt;Make an app appear fully &amp;quot;native&amp;quot; on all platforms isn't really
&lt;br&gt;possible for any toolkit to do completely automatically, since all
&lt;br&gt;platforms have unique aspects. If you want to fit in well, you're
&lt;br&gt;going to need some platform-specific code in places. In MD we have a
&lt;br&gt;platform abstraction and runtime checks to handle platform-specific
&lt;br&gt;things.
&lt;br&gt;&lt;br&gt;That said, there's certainly a lot that GTK# could do to help, in the
&lt;br&gt;form of platform API wrappers for thing like the Mac dock icon, Mac
&lt;br&gt;app events, Mac main menu, Windows 7 jump lists, all platforms' native
&lt;br&gt;file dialogs and recently-used- file lists, etc. It might make sense
&lt;br&gt;to pull this sort of code out of apps like MD, banshee, tomboy etc,
&lt;br&gt;and put it in re-usable libraries, maybe something like
&lt;br&gt;Gtk.Platform.Windows, Gtk.Platform.Mac etc.
&lt;br&gt;&lt;br&gt;The default theme shipped with GTK# for Windows uses the Windows theme
&lt;br&gt;engine to draw parts, and looks pretty good, so I'm not sure why
&lt;br&gt;you're having problem with that. The Mac theme isn't so
&lt;br&gt;native-looking, but we went with something that looked nice and
&lt;br&gt;sort-of fitted in with the Mac colours.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Michael Hutchinson
&lt;br&gt;&lt;a href=&quot;http://mjhutchinson.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mjhutchinson.com&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26311126&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26311126.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26302164</id>
	<title>My Window don't detect Mouse click</title>
	<published>2009-11-11T06:29:45Z</published>
	<updated>2009-11-11T06:29:45Z</updated>
	<author>
		<name>farolfo</name>
	</author>
	<content type="html">Hi, I'm making an application with mono without widget, only a window. 
&lt;br&gt;&lt;br&gt;I have this piece of code
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Public Sub New()
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MyBase.New(&amp;quot;ScreenWindow&amp;quot;)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim MySep As String
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If isUnixOS() = True Then
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MySep = &amp;quot;/&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Else
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MySep = &amp;quot;\&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End If
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; desktop.Init(Me)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.SetPosition(Gtk.WindowPosition.Mouse)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.Move(0, 0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.SetDefaultSize(ScreenRectangle.Width, ScreenRectangle.Height)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.Decorated = False
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.DoubleBuffered = True
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Window.SetDefaultIconFromFile(My.Application.Info.DirectoryPath + MySep + &amp;quot;Icon.ico&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ModifyBg(StateType.Normal, New Gdk.Color(0, 0, 0))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Me.ShowAll()
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddHandler MyBase.ButtonPressEvent, AddressOf MouseBtnDown
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddHandler MyBase.KeyPressEvent, AddressOf KeyPress
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MyTimer.Interval = 50
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MyTimer.Start()
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AppMode = 1
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; End Sub
&lt;br&gt;&amp;nbsp;
&lt;br&gt;When I click with mouse on window application don't detect mouse event. Keyboard event works well.
&lt;br&gt;&lt;br&gt;What is wrong in this code ? 
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/My-Window-don%27t-detect-Mouse-click-tp26302164p26302164.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26287832</id>
	<title>Re: Theming</title>
	<published>2009-11-10T09:36:23Z</published>
	<updated>2009-11-10T09:36:23Z</updated>
	<author>
		<name>Andrew York-2</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html; charset=UTF-8&quot; http-equiv=&quot;Content-Type&quot;&gt;
  &lt;title&gt;&lt;/title&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
I have been debating this very same question, my current plans are to
specify a theme I supply for Windows rather than relying on the default
theme and to specify the images if want for the actions. Initial tests
work really well but that is just a prof-of-concept and nothing more
I'm sure there are many problems waiting to appear.&lt;br&gt;
&lt;br&gt;
.I have the same problem I can count on the themes in Linux to help
with appearance but on the Windows side it doesn't work too well,
because it would rely on users actively seeking out and installing
themes.&lt;br&gt;
&lt;br&gt;
I look forward to where you are going with this.&lt;br&gt;
SpoodyGoon&lt;br&gt;
&lt;br&gt;
On 11/10/2009 11:01 AM, Vladimir Giszpenc wrote:
&lt;blockquote cite=&quot;mid:8ed5cbac0911100801x783944fblfe5a8237947516a@mail.gmail.com&quot; type=&quot;cite&quot;&gt;Hi,
  &lt;div&gt;&lt;br&gt;
  &lt;/div&gt;
  &lt;div&gt;After developing an app on Linux that targeted Linux, I oversold
GTK's ability to run on Windows and Mac.  It runs but it looks very
foreign.  The tubes say different things about how theming will/does
work.  Is there a sample, tutorial or how to on getting my app to look
a little more native on Windows [and the Mac]?  I thought a native
theme would automagically get used but I was sadly disappointed.  My
next assumption is that Gtk# will make this easy and painless.&lt;/div&gt;
  &lt;div&gt;&lt;br&gt;
  &lt;/div&gt;
  &lt;div&gt;Thank you for any help,&lt;/div&gt;
  &lt;div&gt;&lt;br&gt;
  &lt;/div&gt;
  &lt;div&gt;Vlad&lt;/div&gt;
  &lt;pre wrap=&quot;&quot;&gt;
&lt;fieldset class=&quot;mimeAttachmentHeader&quot;&gt;&lt;/fieldset&gt;
_______________________________________________
Gtk-sharp-list maillist  -  &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26287832&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;a class=&quot;moz-txt-link-freetext&quot; href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;
  &lt;/pre&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26287832&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26287832.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26286116</id>
	<title>Theming</title>
	<published>2009-11-10T08:01:27Z</published>
	<updated>2009-11-10T08:01:27Z</updated>
	<author>
		<name>Vladimir Giszpenc-2</name>
	</author>
	<content type="html">Hi,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;After developing an app on Linux that targeted Linux, I oversold GTK&amp;#39;s ability to run on Windows and Mac.  It runs but it looks very foreign.  The tubes say different things about how theming will/does work.  Is there a sample, tutorial or how to on getting my app to look a little more native on Windows [and the Mac]?  I thought a native theme would automagically get used but I was sadly disappointed.  My next assumption is that Gtk# will make this easy and painless.&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thank you for any help,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Vlad&lt;/div&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26286116&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Theming-tp26286116p26286116.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26248352</id>
	<title>New Tooltip API Crashes</title>
	<published>2009-11-07T12:36:47Z</published>
	<updated>2009-11-07T12:36:47Z</updated>
	<author>
		<name>somedave</name>
	</author>
	<content type="html">Is anyone using the new tooltip API in Gtk? I've been working with it the last several days and while I love the API, it seems to be pretty unstable. I keep getting AccessViolationExceptions from the gtk+ libraries, especially when I use the QueryTooltip event on a TreeView. Even the simplest implementation of QueryTooltip that just sets the Tooltip.Text seems to cause problems. The crashes don't seem to follow any pattern. Sometimes they'll occur right away and other times they'll take several minutes. I've also confirmed the same issues with another developer in my office who has experienced similar problems. Has anyone else noticed this? For reference, we're both using XP machines and currently running our Gtk-sharp applications on the Microsoft runtime (we also need to test on Mono and alternate platforms, but we aren't there yet - and if the problems are with gtk+ I don't see the .NET runtime as contributing anyway).</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/New-Tooltip-API-Crashes-tp26248352p26248352.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26163602</id>
	<title>Re: Gtk# on the .NET Framework</title>
	<published>2009-11-03T13:55:59Z</published>
	<updated>2009-11-03T13:55:59Z</updated>
	<author>
		<name>no.human.being</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;thanks for your reply.
&lt;br&gt;&lt;br&gt;The msi you mentioned is already installed. As fas as I know you can't even add the &amp;quot;gtk-sharp&amp;quot; reference to your VS project without it. Native GTK+ applications work flawlessly on the systems and so do GTK# applications when run using mono. GTK# applications will also compile using the c-sharp compiler which comes with the .NET framework. The compiled assembly just won't execute using the .NET runtime, but it will do so on the Mono runtime.
&lt;br&gt;&lt;br&gt;Andre.
&lt;br&gt;&lt;br&gt;&lt;quote author=&quot;Stifu&quot;&gt;&lt;br&gt;Hello,
&lt;br&gt;&lt;br&gt;It should work. There is an 8 MB install for Windows, which is available here:
&lt;br&gt;&lt;a href=&quot;http://ftp.novell.com/pub/mono/gtk-sharp/gtk-sharp-2.12.9-2.win32.msi&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ftp.novell.com/pub/mono/gtk-sharp/gtk-sharp-2.12.9-2.win32.msi&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;no.human.being wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hello Mono community.
&lt;br&gt;&lt;br&gt;Just wanted to get into Gtk#, since it looks so much better than SWF and feels much more mature and standard-compliant.
&lt;br&gt;&lt;br&gt;However I could not get it to run on the .NET Framework. I use Visual Studio 2008 to compile my binaries and use Gtk# from C#. The .NET Compiler compiles flawlessly and I can run the resulting executable using the Mono runtime (tested on version 2.4.2.3). However, the compiled .NET assembly does not execute on the .NET CLR. Even the following simple code is not running on .NET. When run in &amp;quot;debug&amp;quot; mode, it throws a &amp;quot;System.TypeInitializationException&amp;quot; when the Init() method of Gtk is called. When run in &amp;quot;release&amp;quot; mode, the .NET CLR crashes hard with a protection fault.
&lt;br&gt;&lt;br&gt;class Test
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;static void Main(string[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Application.Init();
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;What am I doing wrong? Is Gtk# even supposed to work on .NET or is it Mono-specific? The .NET binding as well as Gtk+ itself are installed on the system and working with the Mono runtime. Operating system is Vista x64.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;/quote&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gtk--on-the-.NET-Framework-tp26163595p26163602.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26163600</id>
	<title>Re: Gtk# on the .NET Framework</title>
	<published>2009-11-03T13:45:29Z</published>
	<updated>2009-11-03T13:45:29Z</updated>
	<author>
		<name>Stifu</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;It should work. There is an 8 MB install for Windows, which is available here:
&lt;br&gt;&lt;a href=&quot;http://ftp.novell.com/pub/mono/gtk-sharp/gtk-sharp-2.12.9-2.win32.msi&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ftp.novell.com/pub/mono/gtk-sharp/gtk-sharp-2.12.9-2.win32.msi&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;no.human.being wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hello Mono community.
&lt;br&gt;&lt;br&gt;Just wanted to get into Gtk#, since it looks so much better than SWF and feels much more mature and standard-compliant.
&lt;br&gt;&lt;br&gt;However I could not get it to run on the .NET Framework. I use Visual Studio 2008 to compile my binaries and use Gtk# from C#. The .NET Compiler compiles flawlessly and I can run the resulting executable using the Mono runtime (tested on version 2.4.2.3). However, the compiled .NET assembly does not execute on the .NET CLR. Even the following simple code is not running on .NET. When run in &amp;quot;debug&amp;quot; mode, it throws a &amp;quot;System.TypeInitializationException&amp;quot; when the Init() method of Gtk is called. When run in &amp;quot;release&amp;quot; mode, the .NET CLR crashes hard with a protection fault.
&lt;br&gt;&lt;br&gt;class Test
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;static void Main(string[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Application.Init();
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;What am I doing wrong? Is Gtk# even supposed to work on .NET or is it Mono-specific? The .NET binding as well as Gtk+ itself are installed on the system and working with the Mono runtime. Operating system is Vista x64.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gtk--on-the-.NET-Framework-tp26163595p26163600.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26163595</id>
	<title>Gtk# on the .NET Framework</title>
	<published>2009-11-03T13:25:45Z</published>
	<updated>2009-11-03T13:25:45Z</updated>
	<author>
		<name>no.human.being</name>
	</author>
	<content type="html">Hello Mono community.
&lt;br&gt;&lt;br&gt;Just wanted to get into Gtk#, since it looks so much better than SWF and feels much more mature and standard-compliant.
&lt;br&gt;&lt;br&gt;However I could not get it to run on the .NET Framework. I use Visual Studio 2008 to compile my binaries and use Gtk# from C#. The .NET Compiler compiles flawlessly and I can run the resulting executable using the Mono runtime (tested on version 2.4.2.3). However, the compiled .NET assembly does not execute on the .NET CLR. Even the following simple code is not running on .NET. When run in &amp;quot;debug&amp;quot; mode, it throws a &amp;quot;System.TypeInitializationException&amp;quot; when the Init() method of Gtk is called. When run in &amp;quot;release&amp;quot; mode, the .NET CLR crashes hard with a protection fault.
&lt;br&gt;&lt;br&gt;class Test
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;static void Main(string[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Application.Init();
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;What am I doing wrong? Is Gtk# even supposed to work on .NET or is it Mono-specific? The .NET binding as well as Gtk+ itself are installed on the system and working with the Mono runtime. Operating system is Vista x64.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gtk--on-the-.NET-Framework-tp26163595p26163595.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26164894</id>
	<title>Re: Advice on Gtk# and WIX</title>
	<published>2009-11-02T06:44:10Z</published>
	<updated>2009-11-02T06:44:10Z</updated>
	<author>
		<name>Brad Taylor</name>
	</author>
	<content type="html">On Fri, 2009-10-30 at 04:54 -0700, dabatla wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks Libin, but I require gtksharp-2.12. I don't know if i'm missing
&lt;br&gt;&amp;gt; something but I only see a msi installer available. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I was told that one should not(or cannot) launch more than one msi at the
&lt;br&gt;&amp;gt; same time? even if this is possible, what WIX action can one use to launch a
&lt;br&gt;&amp;gt; msi?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I looked at the post &lt;a href=&quot;http://go-mono.com/forums/#nabble-td16301589&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://go-mono.com/forums/#nabble-td16301589&lt;/a&gt;&amp;nbsp;where Brad
&lt;br&gt;&amp;gt; refers to some wix merge modules that will be made available about a year
&lt;br&gt;&amp;gt; ago. Does anyone know if this realized? if so, where can I get them?
&lt;/div&gt;&lt;br&gt;At the GNOME summit two years ago, Mike Kestner and I added a makefile
&lt;br&gt;target to gtk-sharp (win32-installer) to allow merge modules to be
&lt;br&gt;built. &amp;nbsp;This target still exists, and all you need to do is run `make
&lt;br&gt;win32-installer` from a fully built gtk-sharp win32 build to produce a
&lt;br&gt;gtk# msm.
&lt;br&gt;&lt;br&gt;The idea at the time was that Medsphere (who I was working for at the
&lt;br&gt;time) would distribute gtk+ merge modules, and those two combined could
&lt;br&gt;provide the complete gtk# stack. &amp;nbsp;Now, I'm no longer employed by
&lt;br&gt;Medsphere, so I'm not sure if they still release updated merge modules
&lt;br&gt;along with the general gtk-sharp installer. &amp;nbsp;Perhaps someone at
&lt;br&gt;Medsphere could speak to this?
&lt;br&gt;&lt;br&gt;Hope this helps,
&lt;br&gt;&lt;br&gt;-Brad
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26164894&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26164894.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26141649</id>
	<title>Re: Advice on Gtk# and WIX</title>
	<published>2009-10-31T04:27:54Z</published>
	<updated>2009-10-31T04:27:54Z</updated>
	<author>
		<name>libin-3</name>
	</author>
	<content type="html">&lt;META HTTP-EQUIV=&quot;Content-Type&quot; CONTENT=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 3.2//EN&quot;&gt;
&lt;HTML&gt;
&lt;HEAD&gt;

&lt;META NAME=&quot;Generator&quot; CONTENT=&quot;MS Exchange Server version 6.5.7638.1&quot;&gt;
&lt;TITLE&gt;Re: [Gtk-sharp-list] Advice on Gtk# and WIX&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;DIV id=idOWAReplyText53769 dir=ltr&gt;
&lt;DIV dir=ltr&gt;&lt;FONT face=Arial color=#000000 size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;DIV dir=ltr&gt;&lt;FONT size=2&gt;Source=&quot;../Pre-Requisites/To Run 
Application/W2K3/x86_x64/gtksharp-2.8.3-win32-0.0.exe&quot;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT size=2&gt;This refers to the location of the exe. It can be 2.8 or 2.12. 
Just give here&amp;nbsp;the location where you keep the installation package of 
GTK#. The installation of the GTK# will be done by the WIX setup that you are 
creating.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;you can launch multiple number of installers from a WIX project. 
even I am using 2 from my installer, GTK# and Mono.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV&gt;&lt;FONT size=2&gt;the following custom action triggers the 
installation:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;lt;CustomAction Id=&quot;InstallGtk&quot; FileKey=&quot;GTKSETUP&quot; 
ExeCommand=&quot;/silent&quot;&lt;BR&gt;&amp;nbsp;Execute=&quot;deferred&quot; 
Impersonate=&quot;no&quot;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
Return=&quot;ignore&quot;/&amp;gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT size=2&gt;You&amp;nbsp;can refer WIX tutorial for further assistance. 
&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href=&quot;http://www.tramontana.co.hu/wix/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.tramontana.co.hu/wix/&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;
&lt;DIV dir=ltr&gt;
&lt;HR tabIndex=-1&gt;
&lt;/DIV&gt;
&lt;DIV dir=ltr&gt;&lt;FONT face=Tahoma size=2&gt;&lt;B&gt;From:&lt;/B&gt; 
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list-bounces@...&lt;/a&gt; on behalf of dabatla&lt;BR&gt;&lt;B&gt;Sent:&lt;/B&gt; Fri 
10/30/2009 5:24 PM&lt;BR&gt;&lt;B&gt;To:&lt;/B&gt; 
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list@...&lt;/a&gt;&lt;BR&gt;&lt;B&gt;Subject:&lt;/B&gt; Re: [Gtk-sharp-list] Advice 
on Gtk# and WIX&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;
&lt;P&gt;&lt;FONT size=2&gt;Thanks Libin, but I require gtksharp-2.12. I don't know if i'm 
missing&lt;BR&gt;something but I only see a msi installer available.&lt;BR&gt;&lt;BR&gt;I was told 
that one should not(or cannot) launch more than one msi at the&lt;BR&gt;same time? 
even if this is possible, what WIX action can one use to launch 
a&lt;BR&gt;msi?&lt;BR&gt;&lt;BR&gt;I looked at the post &lt;A href=&quot;http://go-mono.com/forums/#nabble-td16301589&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://go-mono.com/forums/#nabble-td16301589&lt;/A&gt; 
where Brad&lt;BR&gt;refers to some wix merge modules that will be made available about 
a year&lt;BR&gt;ago. Does anyone know if this realized? if so, where can I get 
them?&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT size=2&gt;&lt;BR&gt;&lt;BR&gt;libin-3 wrote:&lt;div class='shrinkable-quote'&gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; Add the following part 
in the &quot;components&quot; section of your product.wxs&lt;BR&gt;&amp;gt; file&lt;BR&gt;&amp;gt; for GTK 
setup installation.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;File Id=&quot;GTKSETUP&quot; 
Source=&quot;../Pre-Requisites/To Run&lt;BR&gt;&amp;gt; 
Application/W2K3/x86_x64/gtksharp-2.8.3-win32-0.0.exe&quot;&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
Checksum=&quot;yes&quot; Hidden=&quot;yes&quot;/&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; Add this custom action inside 
&quot;InstallExecuteSequence&quot;.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&amp;nbsp; &amp;lt;Custom Action=&quot;InstallGtk&quot; 
Before=&quot;InstallFinalize&quot;&amp;gt;&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;![CDATA[NOT REMOVE AND NOT 
GTKINSTALLED]]&amp;gt;&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;/Custom&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; The following is the custom action which should 
be added to wxs file.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; &amp;lt;CustomAction Id=&quot;InstallGtk&quot; 
FileKey=&quot;GTKSETUP&quot; ExeCommand=&quot;/silent&quot;&lt;BR&gt;&amp;gt; Execute=&quot;deferred&quot; 
Impersonate=&quot;no&quot;&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
Return=&quot;ignore&quot;/&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; The following is the property which should 
be added to wxs file for&lt;BR&gt;&amp;gt; checking&lt;BR&gt;&amp;gt; the registry whether GTK# is 
installed or not.&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;Property Id=&quot;GTKINSTALLED&quot;&amp;gt;&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;RegistrySearch Id=&quot;gtksearch&quot; Key=&quot;SOFTWARE\Novell\Gtk-Sharp\2.8.3&quot;&lt;BR&gt;&amp;gt; 
Name=&quot;SdkInstallRoot&quot; Root=&quot;HKLM&quot; 
Type=&quot;raw&quot;&amp;gt;&amp;lt;/RegistrySearch&amp;gt;&lt;BR&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;/Property&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; Hope this helps..&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; 
Regards,&lt;BR&gt;&amp;gt; Libin&lt;BR&gt;&amp;gt; -----Original Message-----&lt;BR&gt;&amp;gt; From: 
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list-bounces@...&lt;/a&gt;&lt;BR&gt;&amp;gt; [&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list-bounces@...&lt;/a&gt;] 
On Behalf Of dabatla&lt;BR&gt;&amp;gt; Sent: Thursday, October 29, 2009 1:57 PM&lt;BR&gt;&amp;gt; 
To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list@...&lt;/a&gt;&lt;BR&gt;&amp;gt; Subject: [Gtk-sharp-list] Advice on 
Gtk# and WIX&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; Hi there, I want to create a wix installer 
for my Gtk# windows application&lt;BR&gt;&amp;gt; and I would like to be able to inform 
the user when Gtk# is not installed&lt;BR&gt;&amp;gt; on&lt;BR&gt;&amp;gt; his/her computer yet, or 
if it needs to be upgraded.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; Then I would like to fire up the 
Gtk# installer (included with my&lt;BR&gt;&amp;gt; installer)&lt;BR&gt;&amp;gt; if it needs to be 
upgraded or installed.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; Does anyone know of existing WIX 
libraries/tools/tasks that I might be&lt;BR&gt;&amp;gt; able&lt;BR&gt;&amp;gt; to use? Or can 
someone just point me in the right direction?&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; I believe this is 
a common scenario, it shouldn't be to difficult right?&lt;BR&gt;&amp;gt; --&lt;BR&gt;&amp;gt; View 
this message in context:&lt;BR&gt;&amp;gt; &lt;A href=&quot;http://www.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26108731.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26108731.html&lt;/A&gt;&lt;BR&gt;&amp;gt; 
Sent from the Mono - Gtk# mailing list archive at Nabble.com.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; 
_______________________________________________&lt;BR&gt;&amp;gt; Gtk-sharp-list 
maillist&amp;nbsp; -&amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;&lt;BR&gt;&amp;gt; &lt;A href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/A&gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; 
Please do not print this email unless it is absolutely 
necessary.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; The information contained in this electronic message 
and any attachments&lt;BR&gt;&amp;gt; to this message are intended for the exclusive use 
of the addressee(s) and&lt;BR&gt;&amp;gt; may contain proprietary, confidential or 
privileged information. If you&lt;BR&gt;&amp;gt; are not the intended recipient, you 
should not disseminate, distribute or&lt;BR&gt;&amp;gt; copy this e-mail. Please notify 
the sender immediately and destroy all&lt;BR&gt;&amp;gt; copies of this message and any 
attachments.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; WARNING: Computer viruses can be transmitted via 
email. The recipient&lt;BR&gt;&amp;gt; should check this email and any attachments for the 
presence of viruses.&lt;BR&gt;&amp;gt; The company accepts no liability for any damage 
caused by any virus&lt;BR&gt;&amp;gt; transmitted by this email.&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt; 
www.wipro.com&lt;BR&gt;&amp;gt; _______________________________________________&lt;BR&gt;&amp;gt; 
Gtk-sharp-list maillist&amp;nbsp; -&amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;&lt;BR&gt;&amp;gt; &lt;A href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/A&gt;&lt;BR&gt;&amp;gt;&lt;BR&gt;&amp;gt;&lt;/div&gt;&lt;BR&gt;--&lt;BR&gt;View 
this message in context: &lt;A href=&quot;http://old.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26128799.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26128799.html&lt;/A&gt;&lt;BR&gt;Sent 
from the Mono - Gtk# mailing list archive at 
Nabble.com.&lt;BR&gt;&lt;BR&gt;_______________________________________________&lt;BR&gt;Gtk-sharp-list 
maillist&amp;nbsp; -&amp;nbsp; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;&lt;BR&gt;&lt;A href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/A&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/FONT&gt;

&lt;P&gt;&lt;strong&gt;&lt;span style='font-size:10.0pt;font-family:
&quot;Palatino Linotype&quot;,&quot;serif&quot;;color:green'&gt; Please do not print this email unless it is absolutely necessary. &lt;/span&gt;&lt;/strong&gt;&lt;span style='font-family:&quot;Arial&quot;,&quot;sans-serif&quot;'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;


&lt;p&gt; The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. &lt;/p&gt;

&lt;p&gt;WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. &lt;/p&gt;
&lt;p&gt;
www.wipro.com
&lt;/p&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26141649&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26141649.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26128799</id>
	<title>Re: Advice on Gtk# and WIX</title>
	<published>2009-10-30T04:54:57Z</published>
	<updated>2009-10-30T04:54:57Z</updated>
	<author>
		<name>dabatla</name>
	</author>
	<content type="html">Thanks Libin, but I require gtksharp-2.12. I don't know if i'm missing something but I only see a msi installer available. 
&lt;br&gt;&lt;br&gt;I was told that one should not(or cannot) launch more than one msi at the same time? even if this is possible, what WIX action can one use to launch a msi?
&lt;br&gt;&lt;br&gt;I looked at the post &lt;a href=&quot;http://go-mono.com/forums/#nabble-td16301589&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://go-mono.com/forums/#nabble-td16301589&lt;/a&gt;&amp;nbsp;where Brad refers to some wix merge modules that will be made available about a year ago. Does anyone know if this realized? if so, where can I get them?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;libin-3 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Add the following part in the &amp;quot;components&amp;quot; section of your product.wxs file
&lt;br&gt;for GTK setup installation.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;File Id=&amp;quot;GTKSETUP&amp;quot; Source=&amp;quot;../Pre-Requisites/To Run
&lt;br&gt;Application/W2K3/x86_x64/gtksharp-2.8.3-win32-0.0.exe&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Checksum=&amp;quot;yes&amp;quot; Hidden=&amp;quot;yes&amp;quot;/&amp;gt; 
&lt;br&gt;&lt;br&gt;Add this custom action inside &amp;quot;InstallExecuteSequence&amp;quot;.
&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;lt;Custom Action=&amp;quot;InstallGtk&amp;quot; Before=&amp;quot;InstallFinalize&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;![CDATA[NOT REMOVE AND NOT GTKINSTALLED]]&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Custom&amp;gt;
&lt;br&gt;&lt;br&gt;The following is the custom action which should be added to wxs file.
&lt;br&gt;&lt;br&gt;&amp;lt;CustomAction Id=&amp;quot;InstallGtk&amp;quot; FileKey=&amp;quot;GTKSETUP&amp;quot; ExeCommand=&amp;quot;/silent&amp;quot;
&lt;br&gt;Execute=&amp;quot;deferred&amp;quot; Impersonate=&amp;quot;no&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Return=&amp;quot;ignore&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;The following is the property which should be added to wxs file for checking
&lt;br&gt;the registry whether GTK# is installed or not.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;Property Id=&amp;quot;GTKINSTALLED&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;RegistrySearch Id=&amp;quot;gtksearch&amp;quot; Key=&amp;quot;SOFTWARE\Novell\Gtk-Sharp\2.8.3&amp;quot;
&lt;br&gt;Name=&amp;quot;SdkInstallRoot&amp;quot; Root=&amp;quot;HKLM&amp;quot; Type=&amp;quot;raw&amp;quot;&amp;gt;&amp;lt;/RegistrySearch&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Property&amp;gt; 
&lt;br&gt;&lt;br&gt;Hope this helps..
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Libin
&lt;br&gt;-----Original Message-----
&lt;br&gt;From: gtk-sharp-list-bounces@lists.ximian.com
&lt;br&gt;[mailto:gtk-sharp-list-bounces@lists.ximian.com] On Behalf Of dabatla
&lt;br&gt;Sent: Thursday, October 29, 2009 1:57 PM
&lt;br&gt;To: gtk-sharp-list@lists.ximian.com
&lt;br&gt;Subject: [Gtk-sharp-list] Advice on Gtk# and WIX
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hi there, I want to create a wix installer for my Gtk# windows application
&lt;br&gt;and I would like to be able to inform the user when Gtk# is not installed on
&lt;br&gt;his/her computer yet, or if it needs to be upgraded.
&lt;br&gt;&lt;br&gt;Then I would like to fire up the Gtk# installer (included with my installer)
&lt;br&gt;if it needs to be upgraded or installed.
&lt;br&gt;&lt;br&gt;Does anyone know of existing WIX libraries/tools/tasks that I might be able
&lt;br&gt;to use? Or can someone just point me in the right direction?
&lt;br&gt;&lt;br&gt;I believe this is a common scenario, it shouldn't be to difficult right?
&lt;br&gt;--
&lt;br&gt;View this message in context:
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26108731.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26108731.html&lt;/a&gt;&lt;br&gt;Sent from the Mono - Gtk# mailing list archive at Nabble.com.
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;Gtk-sharp-list@lists.ximian.com
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Please do not print this email unless it is absolutely necessary. 
&lt;br&gt;&lt;br&gt;The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 
&lt;br&gt;&lt;br&gt;WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 
&lt;br&gt;&lt;br&gt;www.wipro.com
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;Gtk-sharp-list@lists.ximian.com
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26128799.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26109725</id>
	<title>Re: Advice on Gtk# and WIX</title>
	<published>2009-10-29T02:12:06Z</published>
	<updated>2009-10-29T02:12:06Z</updated>
	<author>
		<name>libin-3</name>
	</author>
	<content type="html">Add the following part in the &amp;quot;components&amp;quot; section of your product.wxs file
&lt;br&gt;for GTK setup installation.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;File Id=&amp;quot;GTKSETUP&amp;quot; Source=&amp;quot;../Pre-Requisites/To Run
&lt;br&gt;Application/W2K3/x86_x64/gtksharp-2.8.3-win32-0.0.exe&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Checksum=&amp;quot;yes&amp;quot; Hidden=&amp;quot;yes&amp;quot;/&amp;gt; 
&lt;br&gt;&lt;br&gt;Add this custom action inside &amp;quot;InstallExecuteSequence&amp;quot;.
&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;lt;Custom Action=&amp;quot;InstallGtk&amp;quot; Before=&amp;quot;InstallFinalize&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;![CDATA[NOT REMOVE AND NOT GTKINSTALLED]]&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/Custom&amp;gt;
&lt;br&gt;&lt;br&gt;The following is the custom action which should be added to wxs file.
&lt;br&gt;&lt;br&gt;&amp;lt;CustomAction Id=&amp;quot;InstallGtk&amp;quot; FileKey=&amp;quot;GTKSETUP&amp;quot; ExeCommand=&amp;quot;/silent&amp;quot;
&lt;br&gt;Execute=&amp;quot;deferred&amp;quot; Impersonate=&amp;quot;no&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Return=&amp;quot;ignore&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;The following is the property which should be added to wxs file for checking
&lt;br&gt;the registry whether GTK# is installed or not.
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;Property Id=&amp;quot;GTKINSTALLED&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;RegistrySearch Id=&amp;quot;gtksearch&amp;quot; Key=&amp;quot;SOFTWARE\Novell\Gtk-Sharp\2.8.3&amp;quot;
&lt;br&gt;Name=&amp;quot;SdkInstallRoot&amp;quot; Root=&amp;quot;HKLM&amp;quot; Type=&amp;quot;raw&amp;quot;&amp;gt;&amp;lt;/RegistrySearch&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/Property&amp;gt; 
&lt;br&gt;&lt;br&gt;Hope this helps..
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Libin
&lt;br&gt;-----Original Message-----
&lt;br&gt;From: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26109725&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list-bounces@...&lt;/a&gt;
&lt;br&gt;[mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26109725&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list-bounces@...&lt;/a&gt;] On Behalf Of dabatla
&lt;br&gt;Sent: Thursday, October 29, 2009 1:57 PM
&lt;br&gt;To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26109725&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;Subject: [Gtk-sharp-list] Advice on Gtk# and WIX
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hi there, I want to create a wix installer for my Gtk# windows application
&lt;br&gt;and I would like to be able to inform the user when Gtk# is not installed on
&lt;br&gt;his/her computer yet, or if it needs to be upgraded.
&lt;br&gt;&lt;br&gt;Then I would like to fire up the Gtk# installer (included with my installer)
&lt;br&gt;if it needs to be upgraded or installed.
&lt;br&gt;&lt;br&gt;Does anyone know of existing WIX libraries/tools/tasks that I might be able
&lt;br&gt;to use? Or can someone just point me in the right direction?
&lt;br&gt;&lt;br&gt;I believe this is a common scenario, it shouldn't be to difficult right?
&lt;br&gt;--
&lt;br&gt;View this message in context:
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26108731.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26108731.html&lt;/a&gt;&lt;br&gt;Sent from the Mono - Gtk# mailing list archive at Nabble.com.
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26109725&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Please do not print this email unless it is absolutely necessary. 
&lt;br&gt;&lt;br&gt;The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 
&lt;br&gt;&lt;br&gt;WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 
&lt;br&gt;&lt;br&gt;www.wipro.com
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26109725&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26109725.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26108731</id>
	<title>Advice on Gtk# and WIX</title>
	<published>2009-10-29T01:26:44Z</published>
	<updated>2009-10-29T01:26:44Z</updated>
	<author>
		<name>dabatla</name>
	</author>
	<content type="html">Hi there, I want to create a wix installer for my Gtk# windows application and I would like to be able to inform the user when Gtk# is not installed on his/her computer yet, or if it needs to be upgraded.
&lt;br&gt;&lt;br&gt;Then I would like to fire up the Gtk# installer (included with my installer) if it needs to be upgraded or installed.
&lt;br&gt;&lt;br&gt;Does anyone know of existing WIX libraries/tools/tasks that I might be able to use? Or can someone just point me in the right direction?
&lt;br&gt;&lt;br&gt;I believe this is a common scenario, it shouldn't be to difficult right?</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Advice-on-Gtk--and-WIX-tp26108731p26108731.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26071750</id>
	<title>problem writing to a file</title>
	<published>2009-10-26T20:47:34Z</published>
	<updated>2009-10-26T20:47:34Z</updated>
	<author>
		<name>conshl</name>
	</author>
	<content type="html">I'm using the following code but when the button is clicked, the contents of entry1 are not being written to IPAddresses.txt. &amp;nbsp;Any help would be much appreciated
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected virtual void OnButton1Clicked (object sender, System.EventArgs e)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.IO.StreamWriter StreamWriter1 = new System.IO.StreamWriter(&amp;quot;IPAddresses.txt&amp;quot;);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StreamWriter1.WriteLine(entry1.Text);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StreamWriter1.Close();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/problem-writing-to-a-file-tp26071750p26071750.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26061583</id>
	<title>Question about CellRendererSpin</title>
	<published>2009-10-26T08:11:46Z</published>
	<updated>2009-10-26T08:11:46Z</updated>
	<author>
		<name>alanb</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I have a CellRendererSpin ui component in my treeview. If possible I want to pick up the signal generated when the value in the spinbutton is changed and use it to dynamically alter a drawing based on the current value of the spinbutton. At present the drawing is changed when editing the value is complete as I have placed that code in the cell Edited signal handler. I cannot see how to attach a handler for the ValueChanged &amp;nbsp;signal on the spinbutton in the treeview. So can someone tell me how to &amp;nbsp;do this or even if its possible.
&lt;br&gt;&lt;br&gt;thanks
&lt;br&gt;&lt;br&gt;Alan</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Question-about-CellRendererSpin-tp26061583p26061583.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26044690</id>
	<title>Re: [MonoDevelop] feedback and suggestions for GTK#</title>
	<published>2009-10-24T18:48:27Z</published>
	<updated>2009-10-24T18:48:27Z</updated>
	<author>
		<name>Chris Howie</name>
	</author>
	<content type="html">On Sat, Oct 24, 2009 at 1:48 AM, Sharique uddin Ahmed Farooqui
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26044690&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;safknw@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; * I think property naming of controls should be in .Net  style not Gtk
&lt;br&gt;&amp;gt; style (like for combobox property name should be SelectedIndex instead
&lt;br&gt;&amp;gt; of Active). This will make easy for other .Net develoeper to write
&lt;br&gt;&amp;gt; apps using Gtk#.
&lt;br&gt;&lt;br&gt;I disagree. &amp;nbsp;Gtk# is a set of bindings for (among other things) GTK+.
&lt;br&gt;It is more important that those already familiar with GTK+ know what
&lt;br&gt;things are named than it is that people coming from a different
&lt;br&gt;toolkit altogether know what things are named. &amp;nbsp;I can understand your
&lt;br&gt;position, but you are learning a new toolkit; it would not make sense
&lt;br&gt;for those who are not learning a new toolkit to have to &amp;quot;speak two
&lt;br&gt;languages&amp;quot; when using the same thing.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Chris Howie
&lt;br&gt;&lt;a href=&quot;http://www.chrishowie.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.chrishowie.com&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/User:Crazycomputers&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/User:Crazycomputers&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26044690&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--MonoDevelop--feedback-and-suggestions-for-GTK--tp26039887p26044690.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26044458</id>
	<title>[webkit-sharp] Javascript Window.Open</title>
	<published>2009-10-24T18:02:12Z</published>
	<updated>2009-10-24T18:02:12Z</updated>
	<author>
		<name>Andy___</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;i've a litte problem with javascripts in webkit-sharp.
&lt;br&gt;&lt;br&gt;The Javascript-Command &amp;nbsp;&amp;quot;window.open(&amp;quot;adress&amp;quot;)&amp;quot; has no effect.
&lt;br&gt;Does anybody know how i could fetch the script with its parameters to create a new window/tab?
&lt;br&gt;&lt;br&gt;Thank you very much,
&lt;br&gt;Andy</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-webkit-sharp--Javascript-Window.Open-tp26044458p26044458.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26039887</id>
	<title>Re: [MonoDevelop] feedback and suggestions for GTK#</title>
	<published>2009-10-24T08:09:33Z</published>
	<updated>2009-10-24T08:09:33Z</updated>
	<author>
		<name>Christian Hoff</name>
	</author>
	<content type="html">Sharique uddin Ahmed Farooqui wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm writting a a GTK# application (Although Qt is my favorite gui
&lt;br&gt;&amp;gt; toolkit of all time). &amp;nbsp;There are few things I have noted
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; * data binding - I googled, but did not found simple way to do the
&lt;br&gt;&amp;gt; task. (I'm from asp.net bg, and I like its data binding very much).
&lt;br&gt;&amp;gt; Since Gtk# is for desktop, it is going to support Winform or WPF like
&lt;br&gt;&amp;gt; data binding.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;Yeah, data binding in Gtk# is a pain. I have written a custom TreeModel 
&lt;/div&gt;which can be used to display any IList (DataView with columns, Arrays, 
&lt;br&gt;ArrayLists etc.), but as there appeared to be very less community 
&lt;br&gt;interest and there are some more issues with that implementation, it was 
&lt;br&gt;never included into Gtk# itself. If you are simply looking for a way to 
&lt;br&gt;display and maybe IList data, using that TreeModel might be the best way 
&lt;br&gt;to go. I attached the model and a sample application, but you'll have to 
&lt;br&gt;change the
&lt;br&gt;&lt;br&gt;Gtk.TreeView treeview = new Gtk.TreeView (dolls); line to
&lt;br&gt;Gtk.TreeView treeview = new Gtk.TreeView (new Gtk.IListStore (dolls));
&lt;br&gt;&lt;br&gt;If you're looking for a complete databinding toolkit, you should use 
&lt;br&gt;gtk-databind (&lt;a href=&quot;http://gtk-databind.sourceforge.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://gtk-databind.sourceforge.net&lt;/a&gt;).
&lt;br&gt;&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;&lt;br /&gt;// IListModel.cs - A custom TreeModel for ILists
&lt;br&gt;//
&lt;br&gt;// Author: &amp;nbsp;Christian Hoff &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26039887&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian_hoff@...&lt;/a&gt;&amp;gt;
&lt;br&gt;//
&lt;br&gt;// Copyright (c) 2009 Christian Hoff
&lt;br&gt;//
&lt;br&gt;// This program is free software; you can redistribute it and/or
&lt;br&gt;// modify it under the terms of version 2 of the Lesser GNU General 
&lt;br&gt;// Public License as published by the Free Software Foundation.
&lt;br&gt;//
&lt;br&gt;// This program is distributed in the hope that it will be useful,
&lt;br&gt;// but WITHOUT ANY WARRANTY; without even the implied warranty of
&lt;br&gt;// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the GNU
&lt;br&gt;// Lesser General Public License for more details.
&lt;br&gt;//
&lt;br&gt;// You should have received a copy of the GNU Lesser General Public
&lt;br&gt;// License along with this program; if not, write to the
&lt;br&gt;// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
&lt;br&gt;// Boston, MA 02111-1307, USA.
&lt;br&gt;&lt;br&gt;using System;
&lt;br&gt;using System.Collections;
&lt;br&gt;using System.Collections.Generic;
&lt;br&gt;using System.ComponentModel;
&lt;br&gt;using System.Reflection;
&lt;br&gt;&lt;br&gt;namespace Gtk {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; internal class IListStore : GLib.Object, Gtk.TreeModelImplementor {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; interface IListBindingHelper {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; object DataSource {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int NColumns {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Type GetColumnType (int column);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int NItems {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; object GetValue (int idx, int column);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; class ListBindingHelper&amp;lt;element_type&amp;gt; : IListBindingHelper {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; object list;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool is_generic_list;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyDescriptorCollection prop_collection;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public ListBindingHelper (object list)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.list = list;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is_generic_list = list is IList&amp;lt;element_type&amp;gt;;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (list is ITypedList)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prop_collection = (list as ITypedList).GetItemProperties (null);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public object DataSource {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return list;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int NColumns {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return prop_collection == null ? 1 : prop_collection.Count;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Type GetNullableType (System.Type original_type)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (original_type.IsByRef || original_type == typeof (string))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return original_type;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return typeof (Nullable&amp;lt;&amp;gt;).MakeGenericType (original_type);	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Type GetColumnType (int column)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return prop_collection == null ? typeof (element_type) : GetNullableType (prop_collection [column].PropertyType);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int NItems {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return is_generic_list ? (list as IList&amp;lt;element_type&amp;gt;).Count : (list as IList).Count;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; object GetItem (int idx)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return is_generic_list ? (list as IList&amp;lt;element_type&amp;gt;) [idx] : (list as IList) [idx];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public object GetValue (int idx, int column)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; object member = GetItem (idx);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (prop_collection == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return member;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; object val = prop_collection [column].GetValue (member);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (val == DBNull.Value)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return val;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IListBindingHelper binding_helper;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.TreeModelAdapter adapter;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int stamp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Save the number of items. Needed to emulate ListChangedType.Reset
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int count = -1;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // We cannot take an IList since we also have to accept the generic IList&amp;lt;element_type&amp;gt; type.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public IListStore (object list)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (list == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new ArgumentNullException (&amp;quot;list&amp;quot;);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Type item_type = GetListItemType (list);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (item_type == typeof (object))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new NotSupportedException (&amp;quot;Lists of type object are not allowed. If you can narrow down the type of the items, the list should implement the generic IList interface or expose a public strongly typed Item property&amp;quot;);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; binding_helper = Activator.CreateInstance (typeof (ListBindingHelper&amp;lt;&amp;gt;).MakeGenericType (item_type), new object[] {list}) as IListBindingHelper;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (list is IBindingList) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; count = binding_helper.NItems;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (list as IBindingList).ListChanged += IBindingList_ListChanged;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Create a random stamp for the iterators
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Random random_stamp_gen = new Random ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; stamp = random_stamp_gen.Next (int.MinValue, int.MaxValue);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter = new Gtk.TreeModelAdapter (this);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static Type GetListItemType (object list)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (Type iface in list.GetType ().GetInterfaces ())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (iface.IsGenericType &amp;&amp; iface.GetGenericTypeDefinition () == typeof (IList&amp;lt;&amp;gt;))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return iface.GetGenericArguments () [0];
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (list is IList) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PropertyInfo item_property = GetItemProperty (list.GetType ());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (item_property == null) // `Item' could be interface-explicit, and thus private
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return typeof (object);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return item_property.PropertyType;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new ArgumentException (&amp;quot;Type {0} does not implement IList or IList&amp;lt;&amp;gt;&amp;quot;, list.GetType ().FullName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static PropertyInfo GetItemProperty (Type type)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (PropertyInfo prop in type.GetProperties (BindingFlags.Public | BindingFlags.Instance))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (prop.Name == &amp;quot;Item&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return prop;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public object DataSource {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return binding_helper.DataSource;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Gtk.TreeModelAdapter Adapter {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return adapter;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Gtk.TreeModelFlags Flags {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Gtk.TreeModelFlags.ListOnly;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;#region Gtk.TreeIter handling
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Gtk.TreeIter GetIter (int idx)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.TreeIter result = Gtk.TreeIter.Zero;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GetIter (idx, ref result);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return result;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void GetIter (int idx, ref Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // We can't pack pointers to the elements into the iters as IList allows duplicates; using the index instead
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iter.UserData = new IntPtr (idx);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iter.Stamp = stamp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int GetIndex (Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (iter.Stamp != stamp)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new InvalidOperationException (String.Format (&amp;quot;iter belongs to a different model; it's stamp is not equal to the stamp of this model({0})&amp;quot;, stamp));
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return iter.UserData.ToInt32 ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int IterNChildren (Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (iter.Equals (Gtk.TreeIter.Zero))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return binding_helper.NItems;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public bool IterHasChild (Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return IterNChildren (iter) != 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public bool IterNthChild (out Gtk.TreeIter child, Gtk.TreeIter parent, int index)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (parent.Equals (Gtk.TreeIter.Zero) &amp;&amp; binding_helper.NItems &amp;gt; 0) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; child = GetIter (index);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; child = Gtk.TreeIter.Zero;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public bool IterChildren (out Gtk.TreeIter child, Gtk.TreeIter parent)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return IterNthChild (out child, parent, 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public bool GetIterFirst (out Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return IterNthChild (out iter, Gtk.TreeIter.Zero, 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public bool IterNext (ref Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int new_index = GetIndex (iter) + 1;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (new_index &amp;gt;= binding_helper.NItems)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GetIter (new_index, ref iter);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public bool IterParent (out Gtk.TreeIter parent, Gtk.TreeIter child)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // List-only model
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parent = Gtk.TreeIter.Zero;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;#endregion
&lt;br&gt;&lt;br&gt;#region TreePath handling
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Gtk.TreePath GetPath (Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return new Gtk.TreePath (new int[] { GetIndex (iter) });
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public bool GetIter (out Gtk.TreeIter iter, Gtk.TreePath path)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iter = Gtk.TreeIter.Zero;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (path.Indices.Length != 1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int index = path.Indices [0];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (index &amp;gt;= binding_helper.NItems)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return false;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GetIter (index, ref iter);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;#endregion
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void RefNode (Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void UnrefNode (Gtk.TreeIter iter)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;#region get/set model data
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int NColumns {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return binding_helper.NColumns;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public GLib.GType GetColumnType (int column)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return (GLib.GType) binding_helper.GetColumnType (column);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void GetValue (Gtk.TreeIter iter, int column, ref GLib.Value val)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Console.WriteLine (&amp;quot;Getting value for column {0}, type should be {1}, value is of type: {2}&amp;quot;, column, GetColumnSystemType (column).FullName, &amp;quot;bla&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; val.Init (GetColumnType (column));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; val.Val = GetValue (iter, column);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; object GetValue (Gtk.TreeIter iter, int column)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return binding_helper.GetValue (GetIndex (iter), column);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;#endregion
&lt;br&gt;&lt;br&gt;#region IBindingList support
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; void IBindingList_ListChanged (object sender, ListChangedEventArgs args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (args.ListChangedType != ListChangedType.Reset &amp;&amp; args.NewIndex == -1 &amp;&amp; args.OldIndex == -1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; switch (args.ListChangedType) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case ListChangedType.ItemAdded:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter.EmitRowInserted (new Gtk.TreePath (new int [] {args.NewIndex}), GetIter (args.NewIndex));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case ListChangedType.ItemDeleted:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter.EmitRowDeleted (new Gtk.TreePath (new int [] {args.NewIndex}));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case ListChangedType.ItemChanged:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter.EmitRowChanged (new Gtk.TreePath (new int [] {args.NewIndex}), GetIter (args.NewIndex));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case ListChangedType.ItemMoved:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Index: New position
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Value: Old position
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int[] new_order = new int [binding_helper.NItems];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int idx = 0; idx &amp;lt; binding_helper.NItems; idx++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (idx == args.NewIndex)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new_order [idx] = args.OldIndex;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (idx == args.OldIndex)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new_order [idx] = args.NewIndex;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new_order [idx] = idx;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter.EmitRowsReordered (null, Gtk.TreeIter.Zero, new_order);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case ListChangedType.Reset:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int n_items = binding_helper.NItems;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &amp;quot;count&amp;quot; hasn't been refreshed yet, it is used to calculate how many items were removed or added to the list
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int n_old = count;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (n_items &amp;gt; n_old) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int idx = n_old; idx &amp;lt; n_items; idx++)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter.EmitRowInserted (new Gtk.TreePath (new int [] {idx}), GetIter (idx));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (n_items &amp;lt; n_old) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int idx = n_old - 1; idx &amp;gt;= n_items; idx--)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter.EmitRowDeleted (new Gtk.TreePath (new int [] {idx}));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int n_changed = Math.Min (n_items, n_old);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int idx = 0; idx &amp;lt; n_changed; idx++)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adapter.EmitRowChanged (new Gtk.TreePath (new int [] {idx}), GetIter (idx));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; count = binding_helper.NItems;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;#endregion
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br /&gt;// IListDemo.cs - IListStore demo
&lt;br&gt;//
&lt;br&gt;// Author: Christian Hoff &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26039887&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian_hoff@...&lt;/a&gt;&amp;gt;
&lt;br&gt;//
&lt;br&gt;// Copyright (c) 2009 Christian Hoff
&lt;br&gt;&lt;br&gt;namespace GtkSamples {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using System;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using System.ComponentModel;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class IListDemo : Gtk.Window {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BindingList&amp;lt;string&amp;gt; dolls;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; class AddDollButton : Gtk.ToggleButton {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BindingList&amp;lt;string&amp;gt; dolls;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string doll_name;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public AddDollButton (string doll_name, BindingList&amp;lt;string&amp;gt; dolls) : base (String.Format (&amp;quot;I also own {0}!&amp;quot;, doll_name))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.dolls = dolls;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.doll_name = doll_name;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Active = dolls.IndexOf (doll_name) &amp;gt;= 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected override void OnToggled ()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (this.Active)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dolls.Add (doll_name);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dolls.Remove (doll_name);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public IListDemo () : base (&amp;quot;IListStore demo&amp;quot;)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dolls = new BindingList&amp;lt;string&amp;gt; ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dolls.Add (&amp;quot;Barbie&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dolls.Add (&amp;quot;Midge&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dolls.Add (&amp;quot;Frankie&amp;quot;);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.TreeView treeview = new Gtk.TreeView (dolls);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; treeview.HeadersVisible = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; treeview.EnableSearch = false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; treeview.AppendColumn (&amp;quot;Dolls&amp;quot;, new Gtk.CellRendererText (), &amp;quot;text&amp;quot;, 0);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sw.Add (treeview);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Button add_ken = new AddDollButton (&amp;quot;Ken&amp;quot;, dolls);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.VBox box = new Gtk.VBox (false, 2);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; box.PackStart (sw, true, true, 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; box.PackStart (add_ken, false, true, 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; box.ShowAll ();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.SetDefaultSize (200, 300);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Add (box);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected override void OnHidden ()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Application.Quit ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void Main (string[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Application.Init ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (new IListDemo ()).Show ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Gtk.Application.Run ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26039887&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--MonoDevelop--feedback-and-suggestions-for-GTK--tp26039887p26039887.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26027293</id>
	<title>Re: [PATCH] Fix custom CellRenderer creation</title>
	<published>2009-10-23T07:22:47Z</published>
	<updated>2009-10-23T07:22:47Z</updated>
	<author>
		<name>Christian Hoff</name>
	</author>
	<content type="html">Diego Elio “Flameeyes” Pettenò wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; While I was working on creating a custom cell renderer for a project of
&lt;br&gt;&amp;gt; mine, I found that once I tried to override the Render method, and
&lt;br&gt;&amp;gt; simply call the base one, the program would crash with an error in the
&lt;br&gt;&amp;gt; native code.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The attached patch makes custom CellRenderer behave, although it might
&lt;br&gt;&amp;gt; be a bit hackish: the other functions that use &amp;quot;ref Gtk.Rectangle&amp;quot; for
&lt;br&gt;&amp;gt; the native call also have it in the managed interface, but since I
&lt;br&gt;&amp;gt; didn't want to change the interface (which I'm pretty sure would be a
&lt;br&gt;&amp;gt; bad thing™) I kept the ref only in the subsequent call. It *should* be
&lt;br&gt;&amp;gt; fine since the rectangles shouldn't be modified as far as I can see.
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;I went ahead and committed the patch to the 2.12 branch (the code in 
&lt;br&gt;trunk/2.90 is correct). Thank you very much for the fix and the test case.
&lt;br&gt;&amp;gt; I also have another problem here: how do I make sure the Windows gtk#
&lt;br&gt;&amp;gt; also have this applied? Should I rebuild it myself, or using the .dll
&lt;br&gt;&amp;gt; file built on (Gentoo) Linux with that patch should be enough?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;You can use the Linux dll if you fix the calling convention by using the 
&lt;br&gt;gapi-cdecl-insert script in the Gtk# 2.12 repo (or just wait for 2.12.10).
&lt;br&gt;&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;_______________________________________________
&lt;br&gt;Gtk-sharp-list maillist &amp;nbsp;- &amp;nbsp;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26027293&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.ximian.com/mailman/listinfo/gtk-sharp-list&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-PATCH--Fix-custom-CellRenderer-creation-tp25955410p26027293.html" />
</entry>

</feed>
