[Gtk-sharp-list] Gtk-sharp-list Digest, Vol 43, Issue 3

Vladimir Giszpenc vladimir.giszpenc at gmail.com
Tue Nov 18 13:42:21 EST 2008


>> This is a follow up to:
>> http://go-mono.com/forums/#nabble-td19464372
>> Mike Kestner wrote:
>> > Now that we have GInterface registration, I think I'd like to move
>> > NodeStore to use an internal managed TreeModel implementation and get
>> > rid of the glue model it currently utilizes.  Then the TreeSortable
>> > interface could be implemented in managed code as well to provide
>> > sorting on the NodeStore.
>> > Maybe I'll make that an evening and weekend project, or of course, I'd
>> > be happy to work with anyone who wants to take a stab at it and provide
>> > a patch.
>> Any luck?
>
> Nothing to my knowledge.
>
> I'm wondering if it wouldn't, in the end, be easier just to kick
> TreeView and NodeView to the curb and try to use the ListView
> implemented by Banshee (the Hyena subproject)
> <http://www.koders.com/csharp/fid17F12F323AA7D9B9E693343447AF53895134E809.aspx>.

I went to look in svn and a lot of comments say "still under very
heavy development."

Are these comments out of date?  It seems that way given how long
these files have sat around.

Also, would it make sense to allow right clicks?  This is very handy
for adding context menus.  It is all done in code by creating
MenuItems right now, but one could probably associate actions to the
widget for a nice generic context menu display.  This code was mostly
stolen from somewhere.  Anything I added is as free as it was
before...

On line 461 of ListView.cs.
			if(evnt.Button == 3) {
				OnMouseButtonClick(new MouseButtonPressedEventArgs(evnt));
				return true;
			}

elsewhere add
		protected void OnMouseButtonClick(MouseButtonPressedEventArgs bpea)
		{
			if (null != this.MouseButtonClicked)
			{
				this.MouseButtonClicked(this, bpea);
			}
		}

still elsewhere add
	public class MouseButtonPressedEventArgs : System.EventArgs
	{
		Gdk.EventButton evnt;
		
		public Gdk.EventButton EventButton {get {return this.evnt;}}
		
		public MouseButtonPressedEventArgs(Gdk.EventButton evnt)
		{
			this.evnt = evnt;
		}
	}

Oh and don't forget
 		public event EventHandler MouseButtonClicked;


More information about the Gtk-sharp-list mailing list