<?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-10T09:36:23Z</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-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>

<entry>
	<id>tag:old.nabble.com,2006:post-26015115</id>
	<title>Re: WebkitGtk: NewWindow ...</title>
	<published>2009-10-22T11:37:44Z</published>
	<updated>2009-10-22T11:37:44Z</updated>
	<author>
		<name>Andy___</name>
	</author>
	<content type="html">I added this to the file &quot;webkit-sharp.metadata&quot; in the trunk-svn-package, now it runs fine.
Okay, ne &quot;signal-name&quot; isn't the best :)


&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-message&quot;&gt;
		&lt;signal name=&quot;NewWindowPolicyDecisionRequested&quot; cname=&quot;new-window-policy-decision-requested&quot; when=&quot;LAST&quot;&gt;
			&lt;return-type type=&quot;void&quot; /&gt;
			&lt;parameters&gt;
				&lt;parameter type=&quot;WebKitWebView*&quot; name=&quot;webview&quot; /&gt;
				&lt;parameter type=&quot;WebKitWebFrame*&quot; name=&quot;frame&quot; /&gt;
				&lt;parameter type=&quot;WebKitNetworkRequest&quot; name=&quot;request&quot; /&gt;
			&lt;/parameters&gt;
		&lt;/signal&gt; 
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;


Thank you, without your answer (and your blog) i've not be able to do this :)

&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;Everaldo Canuto wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;
Humm,

We probabily don't have it implemented yet, I will check it.

Everaldo.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;

</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/WebkitGtk%3A-NewWindow-...-tp26000131p26015115.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26013686</id>
	<title>Re: WebkitGtk: NewWindow ...</title>
	<published>2009-10-22T10:06:55Z</published>
	<updated>2009-10-22T10:06:55Z</updated>
	<author>
		<name>Andy___</name>
	</author>
	<content type="html">Ok, thank you.
&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;Everaldo Canuto wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message&quot;&gt;Humm,
&lt;br&gt;&lt;br&gt;We probabily don't have it implemented yet, I will check it.
&lt;br&gt;&lt;br&gt;Everaldo.
&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/WebkitGtk%3A-NewWindow-...-tp26000131p26013686.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26008647</id>
	<title>how can I access to linux .desktop (shortcut) file by C# in MonoDevelop?</title>
	<published>2009-10-22T04:54:44Z</published>
	<updated>2009-10-22T04:54:44Z</updated>
	<author>
		<name>Fanmanutd</name>
	</author>
	<content type="html">I want to access to linux .desktop file (shortcut) by c# (using monodevelop) such as Name, Command, Type etc. How can I access them?</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/how-can-I-access-to-linux-.desktop-%28shortcut%29-file-by-C--in-MonoDevelop--tp26008647p26008647.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26001293</id>
	<title>Re: WebkitGtk: NewWindow ...</title>
	<published>2009-10-21T15:27:33Z</published>
	<updated>2009-10-21T15:27:33Z</updated>
	<author>
		<name>Everaldo Canuto</name>
	</author>
	<content type="html">Humm,
&lt;br&gt;&lt;br&gt;We probabily don't have it implemented yet, I will check it.
&lt;br&gt;&lt;br&gt;Everaldo.
&lt;br&gt;&lt;br&gt;On Wed, Oct 21, 2009 at 6:57 PM, Andy___ &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26001293&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;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm searching for a event to recive the information if a new window/tab is
&lt;br&gt;&amp;gt; requested.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In WebKitGtk is a &amp;quot;new-window&amp;quot; request
&lt;br&gt;&amp;gt; &amp;quot;WebKitWebView::new-window-policy-decision-requested&amp;quot;.
&lt;br&gt;&amp;gt; But in WebKitGtkSharp i cant find.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for your help
&lt;br&gt;&amp;gt; and sorry for my worse english.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Andy
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; View this message in context: &lt;a href=&quot;http://www.nabble.com/WebkitGtk%3A-NewWindow-...-tp26000131p26000131.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/WebkitGtk%3A-NewWindow-...-tp26000131p26000131.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  -  &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26001293&amp;i=1&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;/div&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=26001293&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/WebkitGtk%3A-NewWindow-...-tp26000131p26001293.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26000131</id>
	<title>WebkitGtk: NewWindow ...</title>
	<published>2009-10-21T13:57:39Z</published>
	<updated>2009-10-21T13:57:39Z</updated>
	<author>
		<name>Andy___</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I'm searching for a event to recive the information if a new window/tab is requested.
&lt;br&gt;&lt;br&gt;In WebKitGtk is a &amp;quot;new-window&amp;quot; request &amp;quot;WebKitWebView::new-window-policy-decision-requested&amp;quot;.
&lt;br&gt;But in WebKitGtkSharp i cant find.
&lt;br&gt;&lt;br&gt;Thanks for your help
&lt;br&gt;and sorry for my worse english.
&lt;br&gt;&lt;br&gt;Andy</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/WebkitGtk%3A-NewWindow-...-tp26000131p26000131.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25973401</id>
	<title>rendering html in c# in mono</title>
	<published>2009-10-20T04:19:27Z</published>
	<updated>2009-10-20T04:19:27Z</updated>
	<author>
		<name>AndreSnake</name>
	</author>
	<content type="html">can anybody give me example rendering html in c# in mono</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/rendering-html-in-c--in-mono-tp25973401p25973401.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25972382</id>
	<title>gtk-html</title>
	<published>2009-10-20T02:44:14Z</published>
	<updated>2009-10-20T02:44:14Z</updated>
	<author>
		<name>AndreSnake</name>
	</author>
	<content type="html">i tried to run this example
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.go-mono.com/docs/index.aspx?link=M%3AGtk.HTML.UrlRequested&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.go-mono.com/docs/index.aspx?link=M%3AGtk.HTML.UrlRequested&lt;/a&gt;&lt;br&gt;&lt;br&gt;and recieve exception in line &amp;nbsp;args.Handle.Write (buffer, n); System.InvalidCastException: Cannot cast from source type to destination type
&lt;br&gt;&lt;br&gt;please, help, what can i do
&lt;br&gt;&lt;br&gt;or can i view html with pictures &amp;nbsp;on form?</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/gtk-html-tp25972382p25972382.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25957455</id>
	<title>Re: [PATCH] Fix custom CellRenderer creation</title>
	<published>2009-10-19T05:21:03Z</published>
	<updated>2009-10-19T05:21:03Z</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=windows-1252&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 working on this with no success as well, I was attempting
to use Gdk.Drawable as my base instead of inheriting from a
CellRenderer. Because the CellRenderer seems to be just a drawing of
text, image, etc. I didn't feel there is much benefit to inheriting
from a CellRenderer. But I am not very good with Gtk yet so that could
be completely wrong.&lt;br&gt;
&lt;br&gt;
I'm looking forward to learning the answer to this as well, but I have
a feeling is simply involves writing text on a Drawable area.&lt;br&gt;
&lt;br&gt;
SpoodyGoon&lt;br&gt;
&lt;br&gt;
Diego Elio “Flameeyes” Pettenò wrote:
&lt;blockquote cite=&quot;mid:1255944255.3985.12.camel@yamato&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;Hi,

While I was working on creating a custom cell renderer for a project of
mine, I found that once I tried to override the Render method, and
simply call the base one, the program would crash with an error in the
native code.

The attached patch makes custom CellRenderer behave, although it might
be a bit hackish: the other functions that use &quot;ref Gtk.Rectangle&quot; for
the native call also have it in the managed interface, but since I
didn't want to change the interface (which I'm pretty sure would be a
bad thing™) I kept the ref only in the subsequent call. It *should* be
fine since the rectangles shouldn't be modified as far as I can see.

I'm also attaching a simple testcase, if you're interested in seeing
what the problem is.

I also have another problem here: how do I make sure the Windows gtk#
also have this applied? Should I rebuild it myself, or using the .dll
file built on (Gentoo) Linux with that patch should be enough?

Thanks,

  &lt;/pre&gt;
  &lt;pre wrap=&quot;&quot;&gt;&lt;pre wrap=&quot;&quot;&gt;&lt;pre wrap=&quot;&quot;&gt;
&lt;hr size=&quot;4&quot; width=&quot;90%&quot;&gt;
_______________________________________________
Gtk-sharp-list maillist  -  &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25957455&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;pre wrap=&quot;&quot;&gt;
&lt;hr size=&quot;4&quot; width=&quot;90%&quot;&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.422 / Virus Database: 270.14.21/2445 - Release Date: 10/19/09 06:40:00

&lt;/pre&gt;&lt;/pre&gt;&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; &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=25957455&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=25957455&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/-PATCH--Fix-custom-CellRenderer-creation-tp25955410p25957455.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25955410</id>
	<title>[PATCH] Fix custom CellRenderer creation</title>
	<published>2009-10-19T02:24:15Z</published>
	<updated>2009-10-19T02:24:15Z</updated>
	<author>
		<name>Diego E. Pettenò</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;While I was working on creating a custom cell renderer for a project of
&lt;br&gt;mine, I found that once I tried to override the Render method, and
&lt;br&gt;simply call the base one, the program would crash with an error in the
&lt;br&gt;native code.
&lt;br&gt;&lt;br&gt;The attached patch makes custom CellRenderer behave, although it might
&lt;br&gt;be a bit hackish: the other functions that use &amp;quot;ref Gtk.Rectangle&amp;quot; for
&lt;br&gt;the native call also have it in the managed interface, but since I
&lt;br&gt;didn't want to change the interface (which I'm pretty sure would be a
&lt;br&gt;bad thing™) I kept the ref only in the subsequent call. It *should* be
&lt;br&gt;fine since the rectangles shouldn't be modified as far as I can see.
&lt;br&gt;&lt;br&gt;I'm also attaching a simple testcase, if you're interested in seeing
&lt;br&gt;what the problem is.
&lt;br&gt;&lt;br&gt;I also have another problem here: how do I make sure the Windows gtk#
&lt;br&gt;also have this applied? Should I rebuild it myself, or using the .dll
&lt;br&gt;file built on (Gentoo) Linux with that patch should be enough?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Diego Elio Pettenò — “Flameeyes”
&lt;br&gt;&lt;a href=&quot;http://blog.flameeyes.eu/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blog.flameeyes.eu/&lt;/a&gt;&lt;br&gt;&lt;br&gt;If you found a .asc file in this mail and know not what it is,
&lt;br&gt;it's a GnuPG digital signature: &lt;a href=&quot;http://www.gnupg.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.gnupg.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;tt&gt;[gtk-sharp-2.12.9-cellrenderer.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;Index: gtk-sharp-2.12.9/gtk/CellRenderer.custom
&lt;br&gt;===================================================================
&lt;br&gt;--- gtk-sharp-2.12.9.orig/gtk/CellRenderer.custom
&lt;br&gt;+++ gtk-sharp-2.12.9/gtk/CellRenderer.custom
&lt;br&gt;@@ -80,7 +80,7 @@
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		[DllImport(&amp;quot;gtksharpglue-2&amp;quot;)]
&lt;br&gt;-		static extern void gtksharp_cellrenderer_base_render (IntPtr handle, IntPtr window, IntPtr widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags);
&lt;br&gt;+		static extern void gtksharp_cellrenderer_base_render (IntPtr handle, IntPtr window, IntPtr widget, ref Gdk.Rectangle background_area, ref Gdk.Rectangle cell_area, ref Gdk.Rectangle expose_area, Gtk.CellRendererState flags);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		[DllImport(&amp;quot;gtksharpglue-2&amp;quot;)]
&lt;br&gt;&amp;nbsp;		static extern void gtksharp_cellrenderer_override_render (IntPtr gtype, RenderDelegate cb);
&lt;br&gt;@@ -112,15 +112,15 @@
&lt;br&gt;&amp;nbsp;		[GLib.DefaultSignalHandler (Type=typeof(Gtk.CellRenderer), ConnectionMethod=&amp;quot;OverrideRender&amp;quot;)]
&lt;br&gt;&amp;nbsp;		protected virtual void Render (Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			gtksharp_cellrenderer_base_render (Handle, window.Handle, widget.Handle, background_area, cell_area, expose_area, flags);
&lt;br&gt;+			gtksharp_cellrenderer_base_render (Handle, window.Handle, widget.Handle, ref background_area, ref cell_area, ref expose_area, flags);
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		[DllImport(&amp;quot;gtksharpglue-2&amp;quot;)]
&lt;br&gt;-		static extern void gtksharp_cellrenderer_invoke_render (IntPtr gtype, IntPtr handle, IntPtr window, IntPtr widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags);
&lt;br&gt;+		static extern void gtksharp_cellrenderer_invoke_render (IntPtr gtype, IntPtr handle, IntPtr window, IntPtr widget, ref Gdk.Rectangle background_area, ref Gdk.Rectangle cell_area, ref Gdk.Rectangle expose_area, Gtk.CellRendererState flags);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		internal static void InternalRender (GLib.GType gtype, Gtk.CellRenderer cell, Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags)
&lt;br&gt;&amp;nbsp;		{
&lt;br&gt;-			gtksharp_cellrenderer_invoke_render (gtype.Val, cell.Handle, window.Handle, widget.Handle, background_area, cell_area, expose_area, flags);
&lt;br&gt;+			gtksharp_cellrenderer_invoke_render (gtype.Val, cell.Handle, window.Handle, widget.Handle, ref background_area, ref cell_area, ref expose_area, flags);
&lt;br&gt;&amp;nbsp;		}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;		[DllImport(&amp;quot;gtksharpglue-2&amp;quot;)]
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;&lt;tt&gt;[MainWindow.cs]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;using System;
&lt;br&gt;using Gtk;
&lt;br&gt;&lt;br&gt;public partial class MainWindow: Gtk.Window
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class CellRendererString : CellRendererText
&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; [GLib.Property(&amp;quot;object&amp;quot;)]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public object Object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { get; set; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public override void GetSize (Gtk.Widget widget, ref Gdk.Rectangle cell_area, out int x_offset, out int y_offset, out int width, out int height)
&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; Text = Object.ToString();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; base.GetSize (widget, ref cell_area, out x_offset, out y_offset, out width, out height);
&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 Render (Gdk.Drawable window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags)
&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; Text = Object.ToString();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; base.Render (window, widget, background_area, cell_area, expose_area, flags);
&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;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public MainWindow (): base (Gtk.WindowType.Toplevel)
&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; Build ();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ListStore ls = new ListStore(typeof(object));
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; treeview1.Model = ls;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; treeview1.AppendColumn(&amp;quot;Test&amp;quot;, new CellRendererString(), &amp;quot;object&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; ls.AppendValues(DateTime.Now);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ls.AppendValues(System.Guid.NewGuid());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected void OnDeleteEvent (object sender, DeleteEventArgs a)
&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; Application.Quit ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a.RetVal = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&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=25955410&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-tp25955410p25955410.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25926171</id>
	<title>Error browser application</title>
	<published>2009-10-16T07:16:27Z</published>
	<updated>2009-10-16T07:16:27Z</updated>
	<author>
		<name>nicus10</name>
	</author>
	<content type="html">I want to test an example of an application of a simple browser. Here is the source code:
&lt;br&gt;&lt;br&gt;using System;
&lt;br&gt;using Gtk;
&lt;br&gt;using Gecko;
&lt;br&gt;&lt;br&gt;class Browser{
&lt;br&gt;public static void Main(string[] args)
&lt;br&gt;{
&lt;br&gt;Application.Init();
&lt;br&gt;Browser b=new Browser();
&lt;br&gt;Application.Run();
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Gecko.WebControl webctl;
&lt;br&gt;Gtk.Entry urlbox;
&lt;br&gt;&lt;br&gt;static string greeting =
&lt;br&gt;&amp;nbsp; &amp;quot;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;My Browser&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;quot;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello!&amp;lt;/h1&amp;gt;&amp;lt;p&amp;gt;Type a URL in the box &amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;quot;and press enter.&amp;lt;/p&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;;
&lt;br&gt;&lt;br&gt;public Browser ( )
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; Window w = new Window (&amp;quot;Browser test&amp;quot;);
&lt;br&gt;&amp;nbsp; VBox v = new VBox ( );
&lt;br&gt;&amp;nbsp; w.Add (v);
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;urlbox=new Entry();
&lt;br&gt;urlbox.Activated += Load_Url;
&lt;br&gt;webctl= new WebControl();
&lt;br&gt;webctl.SetSizeRequest(450,350);
&lt;br&gt;v.PackStart(urlbox,false,false,0);
&lt;br&gt;v.PackEnd(webctl,true,true,0);
&lt;br&gt;w.ShowAll();
&lt;br&gt;w.DeleteEvent +=Window_Delete;
&lt;br&gt;webctl.RenderData(greeting,&amp;quot;file://tmp&amp;quot;,&amp;quot;text/html&amp;quot;);
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;void Load_Url(object o, EventArgs args)
&lt;br&gt;{
&lt;br&gt;webctl.LoadUrl(urlbox.Text);
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;void Window_Delete(object o, DeleteEventArgs args)
&lt;br&gt;{
&lt;br&gt;Application.Quit();
&lt;br&gt;}
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;There is no error of compilation. But when I want to execute the application, there is the following error:
&lt;br&gt;&lt;br&gt;Stacktrace:
&lt;br&gt;&lt;br&gt;&amp;nbsp; at (wrapper managed-to-native) Gecko.WebControl.gtk_moz_embed_render_data (intptr,intptr,uint,intptr,intptr) &amp;lt;0x00004&amp;gt;
&lt;br&gt;&amp;nbsp; at (wrapper managed-to-native) Gecko.WebControl.gtk_moz_embed_render_data (intptr,intptr,uint,intptr,intptr) &amp;lt;0xffffffff&amp;gt;
&lt;br&gt;&amp;nbsp; at Gecko.WebControl.RenderData (string,string,string) &amp;lt;0x00079&amp;gt;
&lt;br&gt;&amp;nbsp; at Browser..ctor () [0x00096] in /home/raemyn04/Browser/Browser/Main.cs:37
&lt;br&gt;&amp;nbsp; at Browser.Main (string[]) [0x00005] in /home/raemyn04/Browser/Browser/Main.cs:9
&lt;br&gt;&amp;nbsp; at (wrapper runtime-invoke) Browser.runtime_invoke_void_string[] (object,intptr,intptr,intptr) &amp;lt;0xffffffff&amp;gt;
&lt;br&gt;&lt;br&gt;Native stacktrace:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/bin/mono [0x81796be]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/bin/mono [0x807d2db]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0xb7fcb40c]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/xulrunner-1.9/libxul.so [0x27a1552]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/xulrunner-1.9/libxul.so [0x217ef92]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/xulrunner-1.9/libxul.so(gtk_moz_embed_render_data+0x8d) [0x217d382]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0xb77de7a5]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0xb77de742]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0xb77daef6]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0xb77d22f7]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [0xb77d21c3]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/bin/mono(mono_runtime_exec_main+0xb6) [0x809a746]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/bin/mono(mono_runtime_run_main+0x16d) [0x809ad6d]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/bin/mono(mono_main+0x623) [0x8058b53]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/bin/mono [0x8058042]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /lib/libc.so.6(__libc_start_main+0xe6) [0x8ba5d6]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/bin/mono [0x8057f81]
&lt;br&gt;&lt;br&gt;Debug info from gdb:
&lt;br&gt;&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;[Thread debugging using libthread_db enabled]
&lt;br&gt;[New Thread 0xb7fb2960 (LWP 6327)]
&lt;br&gt;[New Thread 0xb69f5b90 (LWP 6332)]
&lt;br&gt;[New Thread 0xb7274b90 (LWP 6329)]
&lt;br&gt;[New Thread 0xb7fc9b90 (LWP 6328)]
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;(no debugging symbols found)
&lt;br&gt;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;&amp;nbsp; 4 Thread 0xb7fc9b90 (LWP 6328) &amp;nbsp;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;&amp;nbsp; 3 Thread 0xb7274b90 (LWP 6329) &amp;nbsp;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;&amp;nbsp; 2 Thread 0xb69f5b90 (LWP 6332) &amp;nbsp;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;* 1 Thread 0xb7fb2960 (LWP 6327) &amp;nbsp;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;&lt;br&gt;Thread 4 (Thread 0xb7fc9b90 (LWP 6328)):
&lt;br&gt;#0 &amp;nbsp;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;#1 &amp;nbsp;0x00a4e436 in nanosleep () from /lib/libpthread.so.0
&lt;br&gt;#2 &amp;nbsp;0x0810ed08 in ?? ()
&lt;br&gt;#3 &amp;nbsp;0x00a4732f in start_thread () from /lib/libpthread.so.0
&lt;br&gt;#4 &amp;nbsp;0x0098220e in clone () from /lib/libc.so.6
&lt;br&gt;&lt;br&gt;Thread 3 (Thread 0xb7274b90 (LWP 6329)):
&lt;br&gt;#0 &amp;nbsp;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;#1 &amp;nbsp;0x00a4aba5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
&lt;br&gt;#2 &amp;nbsp;0x08112757 in ?? ()
&lt;br&gt;#3 &amp;nbsp;0x08114d2c in ?? ()
&lt;br&gt;#4 &amp;nbsp;0x08114d6c in ?? ()
&lt;br&gt;#5 &amp;nbsp;0x0812783f in ?? ()
&lt;br&gt;#6 &amp;nbsp;0x080b38fa in ?? ()
&lt;br&gt;#7 &amp;nbsp;0x080d3c54 in ?? ()
&lt;br&gt;#8 &amp;nbsp;0x08125cde in ?? ()
&lt;br&gt;#9 &amp;nbsp;0x0813e107 in ?? ()
&lt;br&gt;#10 0x00a4732f in start_thread () from /lib/libpthread.so.0
&lt;br&gt;#11 0x0098220e in clone () from /lib/libc.so.6
&lt;br&gt;&lt;br&gt;Thread 2 (Thread 0xb69f5b90 (LWP 6332)):
&lt;br&gt;#0 &amp;nbsp;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;#1 &amp;nbsp;0x00977a57 in poll () from /lib/libc.so.6
&lt;br&gt;#2 &amp;nbsp;0x07273b64 in ?? () from /usr/lib/libnspr4.so
&lt;br&gt;#3 &amp;nbsp;0x021f0259 in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#4 &amp;nbsp;0x021f076e in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#5 &amp;nbsp;0x021f0a2a in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#6 &amp;nbsp;0x029caa52 in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#7 &amp;nbsp;0x029978d0 in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#8 &amp;nbsp;0x021f0485 in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#9 &amp;nbsp;0x029caaae in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#10 0x029978d0 in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#11 0x029cb35c in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#12 0x07277f81 in ?? () from /usr/lib/libnspr4.so
&lt;br&gt;#13 0x00a4732f in start_thread () from /lib/libpthread.so.0
&lt;br&gt;#14 0x0098220e in clone () from /lib/libc.so.6
&lt;br&gt;&lt;br&gt;Thread 1 (Thread 0xb7fb2960 (LWP 6327)):
&lt;br&gt;#0 &amp;nbsp;0xb7fcb416 in __kernel_vsyscall ()
&lt;br&gt;#1 &amp;nbsp;0x0097a671 in select () from /lib/libc.so.6
&lt;br&gt;#2 &amp;nbsp;0x00ad7a30 in g_spawn_sync () from /lib/libglib-2.0.so.0
&lt;br&gt;#3 &amp;nbsp;0x00ad7e2c in g_spawn_command_line_sync () from /lib/libglib-2.0.so.0
&lt;br&gt;#4 &amp;nbsp;0x08179775 in ?? ()
&lt;br&gt;#5 &amp;nbsp;0x0807d2db in ?? ()
&lt;br&gt;#6 &amp;nbsp;&amp;lt;signal handler called&amp;gt;
&lt;br&gt;#7 &amp;nbsp;0x027a1552 in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#8 &amp;nbsp;0x0217ef92 in ?? () from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#9 &amp;nbsp;0x0217d382 in gtk_moz_embed_render_data ()
&lt;br&gt;&amp;nbsp; &amp;nbsp;from /usr/lib/xulrunner-1.9/libxul.so
&lt;br&gt;#10 0xb77de7a5 in ?? ()
&lt;br&gt;#11 0x087e7d40 in ?? ()
&lt;br&gt;#12 0x08a26b60 in ?? ()
&lt;br&gt;#13 0x0000007c in ?? ()
&lt;br&gt;#14 0x088999c8 in ?? ()
&lt;br&gt;#15 0x08a26be8 in ?? ()
&lt;br&gt;#16 0xbf8164b4 in ?? ()
&lt;br&gt;#17 0xb77de742 in ?? ()
&lt;br&gt;#18 0x08711650 in ?? ()
&lt;br&gt;#19 0x0000007c in ?? ()
&lt;br&gt;#20 0x000000f6 in ?? ()
&lt;br&gt;#21 0x0005aa40 in ?? ()
&lt;br&gt;#22 0x08a26be8 in ?? ()
&lt;br&gt;#23 0x08a26b60 in ?? ()
&lt;br&gt;#24 0x088999c8 in ?? ()
&lt;br&gt;#25 0xbf816480 in ?? ()
&lt;br&gt;#26 0xb77de774 in ?? ()
&lt;br&gt;#27 0xbf8164b4 in ?? ()
&lt;br&gt;#28 0xb77de742 in ?? ()
&lt;br&gt;#29 0x087e7d40 in ?? ()
&lt;br&gt;#30 0x08a26b60 in ?? ()
&lt;br&gt;#31 0x0000007c in ?? ()
&lt;br&gt;#32 0x088999c8 in ?? ()
&lt;br&gt;#33 0x08a26be8 in ?? ()
&lt;br&gt;#34 0x0000007c in ?? ()
&lt;br&gt;#35 0x08a26b60 in ?? ()
&lt;br&gt;#36 0x087e7d40 in ?? ()
&lt;br&gt;#37 0x0003ff60 in ?? ()
&lt;br&gt;#38 0x00063fa0 in ?? ()
&lt;br&gt;#39 0x00051af0 in ?? ()
&lt;br&gt;#40 0xbf8164e0 in ?? ()
&lt;br&gt;#41 0xb77daef6 in ?? ()
&lt;br&gt;#42 0x0003fea0 in ?? ()
&lt;br&gt;#43 0x00056ee0 in ?? ()
&lt;br&gt;#44 0x00050af0 in ?? ()
&lt;br&gt;#45 0x0005aa40 in ?? ()
&lt;br&gt;#46 0x0003fea0 in ?? ()
&lt;br&gt;#47 0x00063fa0 in ?? ()
&lt;br&gt;#48 0x00063fa0 in ?? ()
&lt;br&gt;#49 0x087186a4 in ?? ()
&lt;br&gt;#50 0x00000000 in ?? ()
&lt;br&gt;&lt;br&gt;&lt;br&gt;=================================================================
&lt;br&gt;Got a SIGSEGV while executing native code. This usually indicates
&lt;br&gt;a fatal error in the mono runtime or one of the native libraries 
&lt;br&gt;used by your application.
&lt;br&gt;=================================================================
&lt;br&gt;&lt;br&gt;&lt;br&gt;I also executed the command: MONO_LOG_LEVEL=debug mono Browser.exe. Everything is OK until:
&lt;br&gt;&lt;br&gt;Mono-INFO: Searching for 'gtk_widget_show_all'.
&lt;br&gt;Mono-INFO: Probing 'gtk_widget_show_all'.
&lt;br&gt;Mono-INFO: Found as 'gtk_widget_show_all'.
&lt;br&gt;Stacktrace:
&lt;br&gt;&lt;br&gt;&amp;nbsp; at (wrapper managed-to-native) Gtk.Widget.gtk_widget_show_all (intptr) &amp;lt;0x00004&amp;gt;
&lt;br&gt;&amp;nbsp; at (wrapper managed-to-native) Gtk.Widget.gtk_widget_show_all (intptr) &amp;lt;0xffffffff&amp;gt;
&lt;br&gt;&amp;nbsp; at Gtk.Widget.ShowAll () &amp;lt;0x0001a&amp;gt;
&lt;br&gt;&amp;nbsp; at Browser..ctor () &amp;lt;0x0011e&amp;gt;
&lt;br&gt;&amp;nbsp; at Browser.Main (string[]) &amp;lt;0x0001e&amp;gt;
&lt;br&gt;&amp;nbsp; at (wrapper runtime-invoke) Browser.runtime_invoke_void_string[] (object,intptr,intptr,intptr) &amp;lt;0xffffffff&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Has anybody already had this kind of error? Please help me...
&lt;br&gt;Thanks
&lt;br&gt;&lt;br&gt;PS: I use: Fedora 9, monodevelop 1.0.7, mono 1.9.1
&lt;br&gt;&lt;br&gt;&amp;nbsp;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Error-browser-application-tp25926171p25926171.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25867703</id>
	<title>Re: Gtk.RecentManager: Way to list Items</title>
	<published>2009-10-12T23:18:46Z</published>
	<updated>2009-10-12T23:18:46Z</updated>
	<author>
		<name>Nils A.</name>
	</author>
	<content type="html">Thanks, I'll try the workaround mentiond in the bug.
&lt;br&gt;&lt;br&gt;2009/10/13 Christian Hoff &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25867703&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian_hoff@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; This has already been fixed in trunk, but unfortunately the patch was never
&lt;br&gt;&amp;gt; backported to 2.12. See &lt;a href=&quot;http://bugzilla.novell.com/show_bug.cgi?id=387754&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugzilla.novell.com/show_bug.cgi?id=387754&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You can reopen the report if you need this to be fixed in 2.12.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Christian
&lt;br&gt;&amp;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=25867703&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/Gtk.RecentManager%3A-Way-to-list-Items-tp25851049p25867703.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25867322</id>
	<title>Re: Gtk.RecentManager: Way to list Items</title>
	<published>2009-10-12T22:21:45Z</published>
	<updated>2009-10-12T22:21:45Z</updated>
	<author>
		<name>Christian Hoff</name>
	</author>
	<content type="html">This has already been fixed in trunk, but unfortunately the patch was 
&lt;br&gt;never backported to 2.12. See 
&lt;br&gt;&lt;a href=&quot;http://bugzilla.novell.com/show_bug.cgi?id=387754&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugzilla.novell.com/show_bug.cgi?id=387754&lt;/a&gt;&lt;br&gt;&lt;br&gt;You can reopen the report if you need this to be fixed in 2.12.
&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;Nils Andresen wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; I am currently a little &amp;quot;stuck&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I wanted to list all my &amp;quot;Recently Used&amp;quot; Items. I use this code:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; public static void Main(string[] args)
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; Application.Init ();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; RecentManager rm = RecentManager.Default;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; GLib.List items = rm.Items;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; Console.WriteLine(items.Count+&amp;quot; items.&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; foreach(object item in items)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(item.ToString());
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; Console.WriteLine(&amp;quot;Done.&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; Console.ReadKey();
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If the Items-list is empty all works as expected. However if the
&lt;br&gt;&amp;gt; RecentManager does in fact contain Items, I'm getting:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; 3 items.
&lt;br&gt;&amp;gt;&amp;gt; Stacktrace:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; at (wrapper managed-to-native) GLib.Object.gtksharp_is_object (intptr) &amp;lt;0x00070&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; at (wrapper managed-to-native) GLib.Object.gtksharp_is_object (intptr) &amp;lt;0xffffffff&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; at GLib.Object.IsObject (intptr) &amp;lt;0x00013&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; at GLib.ListBase.DataMarshal (intptr) &amp;lt;0x003ff&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; at GLib.ListBase/ListEnumerator.get_Current () &amp;lt;0x0004b&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; at ruCmd.MainClass.Main (string[]) [0x00038] in /home/nils/Projekte/RecentlyUsed/ruCmd/Main.cs:14
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; at (wrapper runtime-invoke) ruCmd.MainClass.runtime_invoke_void_object (object,intptr,intptr,intptr) &amp;lt;0xffffffff&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Native stacktrace:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; /usr/bin/mono [0x480c90]
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; /usr/bin/mono [0x4b004d]
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; /lib/libpthread.so.0 [0x7fad5b7c85a0]
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; /usr/lib/libgobject-2.0.so.0(g_type_check_instance_is_a+0x53) [0x7fad55c642e3]
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; [0x41d48b00]
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; =================================================================
&lt;br&gt;&amp;gt;&amp;gt; Got a SIGSEGV while executing native code. This usually indicates
&lt;br&gt;&amp;gt;&amp;gt; a fatal error in the mono runtime or one of the native libraries
&lt;br&gt;&amp;gt;&amp;gt; used by your application.
&lt;br&gt;&amp;gt;&amp;gt; =================================================================
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Is there an error in my handling of Gtk#/GLib ? I have already rebuild
&lt;br&gt;&amp;gt; my mono-environment.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yours,
&lt;br&gt;&amp;gt; Nils
&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=25867322&amp;i=0&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; &amp;nbsp; 
&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=25867322&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/Gtk.RecentManager%3A-Way-to-list-Items-tp25851049p25867322.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25851049</id>
	<title>Gtk.RecentManager: Way to list Items</title>
	<published>2009-10-11T23:24:35Z</published>
	<updated>2009-10-11T23:24:35Z</updated>
	<author>
		<name>Nils A.</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;I am currently a little &amp;quot;stuck&amp;quot;.
&lt;br&gt;&lt;br&gt;I wanted to list all my &amp;quot;Recently Used&amp;quot; Items. I use this code:
&lt;br&gt;&lt;div class='shrinkable-quote'&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; &amp;nbsp; RecentManager rm = RecentManager.Default;
&lt;br&gt;&amp;gt;    GLib.List items = rm.Items;
&lt;br&gt;&amp;gt;    Console.WriteLine(items.Count+&amp;quot; items.&amp;quot;);
&lt;br&gt;&amp;gt;    foreach(object item in items)
&lt;br&gt;&amp;gt;    {
&lt;br&gt;&amp;gt;        Console.WriteLine(item.ToString());
&lt;br&gt;&amp;gt;    }
&lt;br&gt;&amp;gt;    Console.WriteLine(&amp;quot;Done.&amp;quot;);
&lt;br&gt;&amp;gt;    Console.ReadKey();
&lt;br&gt;&amp;gt;}
&lt;/div&gt;&lt;br&gt;If the Items-list is empty all works as expected. However if the
&lt;br&gt;RecentManager does in fact contain Items, I'm getting:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;3 items.
&lt;br&gt;&amp;gt;Stacktrace:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;  at (wrapper managed-to-native) GLib.Object.gtksharp_is_object (intptr) &amp;lt;0x00070&amp;gt;
&lt;br&gt;&amp;gt;  at (wrapper managed-to-native) GLib.Object.gtksharp_is_object (intptr) &amp;lt;0xffffffff&amp;gt;
&lt;br&gt;&amp;gt;  at GLib.Object.IsObject (intptr) &amp;lt;0x00013&amp;gt;
&lt;br&gt;&amp;gt;  at GLib.ListBase.DataMarshal (intptr) &amp;lt;0x003ff&amp;gt;
&lt;br&gt;&amp;gt;  at GLib.ListBase/ListEnumerator.get_Current () &amp;lt;0x0004b&amp;gt;
&lt;br&gt;&amp;gt;  at ruCmd.MainClass.Main (string[]) [0x00038] in /home/nils/Projekte/RecentlyUsed/ruCmd/Main.cs:14
&lt;br&gt;&amp;gt;  at (wrapper runtime-invoke) ruCmd.MainClass.runtime_invoke_void_object (object,intptr,intptr,intptr) &amp;lt;0xffffffff&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Native stacktrace:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    /usr/bin/mono [0x480c90]
&lt;br&gt;&amp;gt;    /usr/bin/mono [0x4b004d]
&lt;br&gt;&amp;gt;    /lib/libpthread.so.0 [0x7fad5b7c85a0]
&lt;br&gt;&amp;gt;    /usr/lib/libgobject-2.0.so.0(g_type_check_instance_is_a+0x53) [0x7fad55c642e3]
&lt;br&gt;&amp;gt;    [0x41d48b00]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;=================================================================
&lt;br&gt;&amp;gt;Got a SIGSEGV while executing native code. This usually indicates
&lt;br&gt;&amp;gt;a fatal error in the mono runtime or one of the native libraries
&lt;br&gt;&amp;gt;used by your application.
&lt;br&gt;&amp;gt;=================================================================
&lt;/div&gt;&lt;br&gt;Is there an error in my handling of Gtk#/GLib ? I have already rebuild
&lt;br&gt;my mono-environment.
&lt;br&gt;&lt;br&gt;Yours,
&lt;br&gt;Nils
&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=25851049&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/Gtk.RecentManager%3A-Way-to-list-Items-tp25851049p25851049.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25843714</id>
	<title>Re: GIO# System.InvalidCastException in	VolumeMonitor.MountAdded event</title>
	<published>2009-10-11T07:07:52Z</published>
	<updated>2009-10-11T07:07:52Z</updated>
	<author>
		<name>Christian Hoff</name>
	</author>
	<content type="html">Chris Szikszoy wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Christian,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for the patch. &amp;nbsp;I gave it a try but am getting a different
&lt;br&gt;&amp;gt; exception now (with your test program). &amp;nbsp;I see that the generated code (from MD's assembly
&lt;br&gt;&amp;gt; browser now shows:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;get {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;&amp;gt; GLib.MountAdapter.GetObject(GLib.SignalArgs.get_Args()[1]);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;You have applied the patch against the current stable version (2.12) of 
&lt;br&gt;the code generator. If you apply it to the Gtk# trunk generator, 
&lt;br&gt;everything will work just fine.
&lt;br&gt;&amp;gt; I was, however, able to finally get the Mount from the event by doing this:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mount m = GLib.MountAdapter.GetObject (a.Args [0] as GLib.Object);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.WriteLine (m.Name);
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Yeah, when I backport this patch, I will need to fix the array indices 
&lt;br&gt;as well. Great to see that you got it to work :-) . I'll commit when 
&lt;br&gt;we've got Mike's approval.
&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=25843714&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/GIO--System.InvalidCastException-in-VolumeMonitor.MountAdded-event-tp25815236p25843714.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25843007</id>
	<title>GIO# System.InvalidCastException in VolumeMonitor.MountAdded event</title>
	<published>2009-10-11T04:56:22Z</published>
	<updated>2009-10-11T04:56:22Z</updated>
	<author>
		<name>Chris Szikszoy</name>
	</author>
	<content type="html">Hi Christian,
&lt;br&gt;&lt;br&gt;Thanks for the patch.  I gave it a try but am getting a different
&lt;br&gt;exception now (with your test program).  I'm getting an
&lt;br&gt;System.IndexOutOfRangeException.  From the test program, a.Args.Length
&lt;br&gt;returns only 1, and I see that the generated code (from MD's assembly
&lt;br&gt;browser now shows:
&lt;br&gt;       get {
&lt;br&gt;               return
&lt;br&gt;GLib.MountAdapter.GetObject(GLib.SignalArgs.get_Args()[1]);
&lt;br&gt;&lt;br&gt; unknown opcode: Isinst
&lt;br&gt;       }
&lt;br&gt;&lt;br&gt;I was, however, able to finally get the Mount from the event by doing this:
&lt;br&gt;       Mount m = GLib.MountAdapter.GetObject (a.Args [0] as GLib.Object);
&lt;br&gt;       Console.WriteLine (m.Name);
&lt;br&gt;&lt;br&gt;Thanks again, I'll be more than happy to test any other patches you
&lt;br&gt;have as well.
&lt;br&gt;&lt;br&gt;Chris S.
&lt;br&gt;(cszikszoy on Freenode &amp; GimpNet)
&lt;br&gt;&lt;br&gt;On Sun, Oct 11, 2009 at 2:19 AM, Christian Hoff &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25843007&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christian_hoff@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Chris Szikszoy wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I saw that GIO# bindings landed in the mainline gtk# branch recently and
&lt;br&gt;&amp;gt;&amp;gt; wanted experiment to see if I could replace the old Gnome.VFS in my
&lt;br&gt;&amp;gt;&amp;gt; application.  I've built the latest gtk# from svn and am running into a
&lt;br&gt;&amp;gt;&amp;gt; problem with the VolumeMonitor.Mount* signals.  I keep getting an
&lt;br&gt;&amp;gt;&amp;gt; InvalidCastException when trying to access args.Mount from any of the
&lt;br&gt;&amp;gt;&amp;gt; events
&lt;br&gt;&amp;gt;&amp;gt; (MountAdded, MountRemoved, MountPreUnmount, MountChanged).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I've looked at the generated code and it seems to be failing at here:
&lt;br&gt;&amp;gt;&amp;gt; public Mount Mount{
&lt;br&gt;&amp;gt;&amp;gt;        get {
&lt;br&gt;&amp;gt;&amp;gt;                return (GLib.Mount)GLib.SignalArgs.get_Args()[0];
&lt;br&gt;&amp;gt;&amp;gt;        }
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have attached a patch which fixes the issue together with a modified
&lt;br&gt;&amp;gt; version of your test program. Mike, could you review?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Christian
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&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=25843007&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/GIO--System.InvalidCastException-in-VolumeMonitor.MountAdded-event-tp25815236p25843007.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25841810</id>
	<title>Re: GIO# System.InvalidCastException in VolumeMonitor.MountAdded event</title>
	<published>2009-10-11T02:19:45Z</published>
	<updated>2009-10-11T02:19:45Z</updated>
	<author>
		<name>Christian Hoff</name>
	</author>
	<content type="html">Chris Szikszoy wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I saw that GIO# bindings landed in the mainline gtk# branch recently and
&lt;br&gt;&amp;gt; wanted experiment to see if I could replace the old Gnome.VFS in my
&lt;br&gt;&amp;gt; application. &amp;nbsp;I've built the latest gtk# from svn and am running into a
&lt;br&gt;&amp;gt; problem with the VolumeMonitor.Mount* signals. &amp;nbsp;I keep getting an
&lt;br&gt;&amp;gt; InvalidCastException when trying to access args.Mount from any of the events
&lt;br&gt;&amp;gt; (MountAdded, MountRemoved, MountPreUnmount, MountChanged).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I've looked at the generated code and it seems to be failing at here:
&lt;br&gt;&amp;gt; public Mount Mount{
&lt;br&gt;&amp;gt; 	get {
&lt;br&gt;&amp;gt; 		return (GLib.Mount)GLib.SignalArgs.get_Args()[0];
&lt;br&gt;&amp;gt; 	}
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;/div&gt;I have attached a patch which fixes the issue together with a modified 
&lt;br&gt;version of your test program. Mike, could you review?
&lt;br&gt;&lt;br&gt;&lt;br&gt;Christian
&lt;br&gt;&lt;br&gt;&lt;br /&gt;Index: generator/Signal.cs
&lt;br&gt;===================================================================
&lt;br&gt;--- generator/Signal.cs	(Revision 143910)
&lt;br&gt;+++ generator/Signal.cs	(Arbeitskopie)
&lt;br&gt;@@ -271,12 +271,18 @@
&lt;br&gt;&amp;nbsp;				sw.WriteLine (&amp;quot;\t\tpublic &amp;quot; + parms[i].CSType + &amp;quot; &amp;quot; + parms[i].StudlyName + &amp;quot;{&amp;quot;);
&lt;br&gt;&amp;nbsp;				if (parms[i].PassAs != &amp;quot;out&amp;quot;) {
&lt;br&gt;&amp;nbsp;					sw.WriteLine (&amp;quot;\t\t\tget {&amp;quot;);
&lt;br&gt;-					sw.WriteLine (&amp;quot;\t\t\t\treturn (&amp;quot; + parms[i].CSType + &amp;quot;) Args[&amp;quot; + i + &amp;quot;];&amp;quot;);
&lt;br&gt;+					if (SymbolTable.Table.IsInterface (parms [i].CType))
&lt;br&gt;+						sw.WriteLine (&amp;quot;\t\t\t\treturn {0}Adapter.GetObject (Args [{1}] as GLib.Object);&amp;quot;, parms [i].CSType, i);
&lt;br&gt;+					else
&lt;br&gt;+						sw.WriteLine (&amp;quot;\t\t\t\treturn ({0}) Args [{1}];&amp;quot;, parms [i].CSType, i);
&lt;br&gt;&amp;nbsp;					sw.WriteLine (&amp;quot;\t\t\t}&amp;quot;);
&lt;br&gt;&amp;nbsp;				}
&lt;br&gt;&amp;nbsp;				if (parms[i].PassAs != &amp;quot;&amp;quot;) {
&lt;br&gt;&amp;nbsp;					sw.WriteLine (&amp;quot;\t\t\tset {&amp;quot;);
&lt;br&gt;-					sw.WriteLine (&amp;quot;\t\t\t\tArgs[&amp;quot; + i + &amp;quot;] = (&amp;quot; + parms[i].CSType + &amp;quot;)value;&amp;quot;);
&lt;br&gt;+					if (SymbolTable.Table.IsInterface (parms [i].CType))
&lt;br&gt;+						sw.WriteLine (&amp;quot;\t\t\t\tArgs [{0}] = value is {1}Adapter ? (value as {1}Adapter).Implementor : value;&amp;quot;, i, parms [i].CSType);
&lt;br&gt;+					else
&lt;br&gt;+						sw.WriteLine (&amp;quot;\t\t\t\tArgs[&amp;quot; + i + &amp;quot;] = (&amp;quot; + parms[i].CSType + &amp;quot;)value;&amp;quot;);
&lt;br&gt;&amp;nbsp;					sw.WriteLine (&amp;quot;\t\t\t}&amp;quot;);
&lt;br&gt;&amp;nbsp;				}
&lt;br&gt;&amp;nbsp;				sw.WriteLine (&amp;quot;\t\t}&amp;quot;);
&lt;br&gt;&lt;br /&gt;using System;
&lt;br&gt;using GLib;
&lt;br&gt;&lt;br&gt;namespace giotest
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static 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; static GLib.MainLoop loop;
&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; GLib.GType.Init ();
&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; VolumeMonitor mon = VolumeMonitor.Default;
&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; mon.MountAdded += delegate(object o, MountAddedArgs a) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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;Mount Added: {0}&amp;quot;, a.Mount.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; loop.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; mon.MountRemoved += delegate(object o, MountRemovedArgs a) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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;Mount removed: {0}&amp;quot;, a.Mount.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; loop.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;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loop = new GLib.MainLoop ();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loop.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=25841810&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/GIO--System.InvalidCastException-in-VolumeMonitor.MountAdded-event-tp25815236p25841810.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25815236</id>
	<title>GIO# System.InvalidCastException in VolumeMonitor.MountAdded event</title>
	<published>2009-10-08T21:07:39Z</published>
	<updated>2009-10-08T21:07:39Z</updated>
	<author>
		<name>Chris Szikszoy</name>
	</author>
	<content type="html">I saw that GIO# bindings landed in the mainline gtk# branch recently and wanted experiment to see if I could replace the old Gnome.VFS in my application. &amp;nbsp;I've built the latest gtk# from svn and am running into a problem with the VolumeMonitor.Mount* signals. &amp;nbsp;I keep getting an InvalidCastException when trying to access args.Mount from any of the events (MountAdded, MountRemoved, MountPreUnmount, MountChanged).
&lt;br&gt;&lt;br&gt;I've looked at the generated code and it seems to be failing at here:
&lt;br&gt;public Mount Mount{
&lt;br&gt;&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; return (GLib.Mount)GLib.SignalArgs.get_Args()[0];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Try running this application to observe:
&lt;br&gt;using System;
&lt;br&gt;using GLib;
&lt;br&gt;using Gtk;
&lt;br&gt;namespace giotest
&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; 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; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VolumeMonitor mon = VolumeMonitor.Default;
&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; mon.MountAdded += delegate(object o, MountAddedArgs a) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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;Mount Added: {0}&amp;quot;, a.Mount.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; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mon.MountRemoved += delegate(object o, MountRemovedArgs a) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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;Mount removed: {0}&amp;quot;, a.Mount.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; 
&lt;br&gt;&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;The relevant parts of the exception are:
&lt;br&gt;Marshaling mount-added signal
&lt;br&gt;Exception in Gtk# callback delegate
&lt;br&gt;&amp;nbsp; Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
&lt;br&gt;System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---&amp;gt; System.InvalidCastException: Cannot cast from source type to destination type.
&lt;br&gt;&amp;nbsp; at GLib.MountAddedArgs.get_Mount () [0x00000] 
&lt;br&gt;&amp;nbsp; at giotest.MainClass.&amp;lt;Main&amp;gt;m__0 (System.Object o, GLib.MountAddedArgs a) [0x00000] in /home/chris/Projects/giotest/giotest/Main.cs:1 
&lt;br&gt;&amp;nbsp; at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&amp;)
&lt;br&gt;&amp;nbsp; at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] 
&lt;br&gt;&amp;nbsp; --- End of inner exception stack trace ---
&lt;br&gt;&lt;br&gt;Should I file a bug? &amp;nbsp;I found the GTK# bugzilla at bugzilla.novell.com but I wasn't sure if that was the right place.
&lt;br&gt;&lt;br&gt;Thanks in advance for all the help.
&lt;br&gt;- Chris</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/GIO--System.InvalidCastException-in-VolumeMonitor.MountAdded-event-tp25815236p25815236.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25810228</id>
	<title>Re: Gtk-sharp RedHat Linux installation</title>
	<published>2009-10-08T12:29:11Z</published>
	<updated>2009-10-08T12:29:11Z</updated>
	<author>
		<name>Jerry Liu</name>
	</author>
	<content type="html">I am trying to install gtk-sharp and thus in process installing gtk+, glib, Cairo, atk, etc. &amp;nbsp;When I done &amp;quot;make&amp;quot;, goto root and do a &amp;quot;make install&amp;quot; for gtk+-2.18.2, I got some error. &amp;nbsp;Any idea what it means and how to fix it?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Jerry
&lt;br&gt;&lt;br&gt;&lt;br&gt;make[3]: Entering directory `/tmp/mono/gtk+-2.18.2/gdk'
&lt;br&gt;/bin/sh ../libtool &amp;nbsp;--tag=CC &amp;nbsp; --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\&amp;quot;Gdk\&amp;quot; -DGDK_COMPILATION -I.. -I../gdk -I../gdk-pixbuf -DG_DISABLE_CAST_CHECKS -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12 &amp;nbsp; &amp;nbsp; &amp;nbsp;-DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES &amp;nbsp; &amp;nbsp;-DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall -MT gdkpango.lo -MD -MP -MF .deps/gdkpango.Tpo -c -o gdkpango.lo gdkpango.c
&lt;br&gt;libtool: compile: &amp;nbsp;gcc -DHAVE_CONFIG_H -I. -I.. -DG_LOG_DOMAIN=\&amp;quot;Gdk\&amp;quot; -DGDK_COMPILATION -I.. -I../gdk -I../gdk-pixbuf -DG_DISABLE_CAST_CHECKS -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/pango-1.0 -I/usr/local/include/cairo -I/usr/local/include/pixman-1 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng12 -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall -MT gdkpango.lo -MD -MP -MF .deps/gdkpango.Tpo -c gdkpango.c &amp;nbsp;-fPIC-DPIC -o .libs/gdkpango.o
&lt;br&gt;gdkpango.c: In function 'gdk_pango_renderer_draw_shape':
&lt;br&gt;gdkpango.c:324: error: 'PangoCairoShapeRendererFunc' undeclared (first use in this function)
&lt;br&gt;gdkpango.c:324: error: (Each undeclared identifier is reported only once
&lt;br&gt;gdkpango.c:324: error: for each function it appears in.)
&lt;br&gt;gdkpango.c:324: error: expected ';' before 'shape_renderer'
&lt;br&gt;gdkpango.c:334: error: 'shape_renderer' undeclared (first use in this function)
&lt;br&gt;gdkpango.c:334: warning: implicit declaration of function 'pango_cairo_context_get_shape_renderer'
&lt;br&gt;gdkpango.c:350: warning: implicit declaration of function 'shape_renderer'
&lt;br&gt;make[3]: *** [gdkpango.lo] Error 1
&lt;br&gt;make[3]: Leaving directory `/tmp/mono/gtk+-2.18.2/gdk'
&lt;br&gt;make[2]: *** [install-recursive] Error 1
&lt;br&gt;make[2]: Leaving directory `/tmp/mono/gtk+-2.18.2/gdk'
&lt;br&gt;make[1]: *** [install] Error 2
&lt;br&gt;make[1]: Leaving directory `/tmp/mono/gtk+-2.18.2/gdk'
&lt;br&gt;make: *** [install-recursive] Error 1
&lt;br&gt;root@lnxeng02:[/tmp/mono/gtk+-2.18.2] {3} % cd ..
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: Chris Howie [mailto:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25810228&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cdhowie@...&lt;/a&gt;] 
&lt;br&gt;Sent: Wednesday, October 07, 2009 6:28 PM
&lt;br&gt;To: chuchiehliu
&lt;br&gt;Cc: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25810228&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gtk-sharp-list@...&lt;/a&gt;
&lt;br&gt;Subject: Re: [Gtk-sharp-list] Gtk-sharp RedHat Linux installation
&lt;br&gt;&lt;br&gt;On Wed, Oct 7, 2009 at 8:12 PM, &amp;nbsp;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25810228&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;chuchiehliu@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Thanks for your help. I am new to Linux and mono world.
&lt;br&gt;&lt;br&gt;Welcome. &amp;nbsp;We all start somewhere. &amp;nbsp;:)
&lt;br&gt;&lt;br&gt;&amp;gt; (1) If I did a &amp;quot;sudo -s&amp;quot; and execute the ./configure --prefix=/usr/local.  The following is what I got from console.  My &amp;quot;where mono&amp;quot; is at /usr/local/bin/mono and thus add prefix as above.  There is an error from console &amp;quot; Requested 'gtk+-2.0 &amp;gt;= 2.12.0' but version of GTK+ is 2.10.4&amp;quot;.  I am asking my Linux admin on this and not sure whether we can upgrade GTK+ (I am not sure where it come from? GNU installation?).  Is there a way to get around it (use GTK+ 2.10.4 instead of &amp;gt;= 2.12.0)?  Should I try older version of gtk-sharp?
&lt;br&gt;&lt;br&gt;You would need to use an older Gtk# if you cannot use a newer GTK+.
&lt;br&gt;&lt;br&gt;&amp;gt; (2) If I login as myself and do a &amp;quot;./configure --prefix=/usr/local&amp;quot;, the following is what I got from console.  It sure looks like I have some permission issue.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; chuchiehliu@lnxeng02:[/tmp/mono/gtk-sharp-2.12.9] {3} % ./configure --prefix=/usr/local
&lt;br&gt;&amp;gt; ./configure: line 1739: config.log: Permission denied
&lt;br&gt;&amp;gt; ./configure: line 1749: config.log: Permission denied
&lt;br&gt;&lt;br&gt;This is because you ran ./configure as root earlier, so the log file
&lt;br&gt;is now owned by root and your user can't touch it. &amp;nbsp;If I were in your
&lt;br&gt;shoes I would remove the whole /tmp/mono/gtk-sharp-2.12.9 directory
&lt;br&gt;(as root, so you have permissions) and then extract it as a normal
&lt;br&gt;user. &amp;nbsp;(Also, I would not use /tmp for this -- it gets wiped when you
&lt;br&gt;reboot. &amp;nbsp;I'd create a &amp;quot;src&amp;quot; directory in my home directory and compile
&lt;br&gt;stuff in there.)
&lt;br&gt;&lt;br&gt;Good luck!
&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=25810228&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;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Gtk-sharp-RedHat-Linux-installation-tp25789066p25810228.html" />
</entry>

</feed>
