Hi Sven,

I ran into the exact same problem and found out how to solve it, try:

        int binX;
        int binY;
        trvMainCuesheet.ConvertWidgetToBinWindowCoords(args.X, args.Y, out 
binX, out binY);

and then something like..

        if (trvMainCuesheet.GetPathAtPos (binX, binY, out path, out col) && 
trvMainCuesheet.Model.GetIter (out iter, path))
        {
            YourType YourVar = (YourType)trvMainCuesheet.Model.GetValue (iter, 
0);
                ...
        }

Good luck!
Nicolas


Am 17.01.2012, 21:23 Uhr, schrieb s.baus <[email protected]>:

Hello everybody,

I'm currently working on an application, that can read out text files and
make cuesheets out of them (more information on
http://sourceforge.net/projects/audiocuesheet/
http://sourceforge.net/projects/audiocuesheet/ ).

For this, I use a treeview (named "trvMainCuesheet" )with a data model
behind it called "lsCuesheetData".

Now I need to have some tooltip for some rows (if there are errors, and so
on). The tooltip text is stored inside the data model in a not seen column.

Now use the following code, to view the tooltip:

public void prepareTreeViewMainCuesheet()
        {
                try
                {
                        this.lsCuesheetData = new
ListStore(typeof(Track),typeof(int),typeof(string),typeof(string),typeof(string),typeof(string),typeof(string),typeof(Gdk.Pixbuf),typeof(string));
                        
[...]
                                
                        this.trvMainCuesheet.Model = lsCuesheetData;

                        this.trvMainCuesheet.HasTooltip = true;
                        this.trvMainCuesheet.QueryTooltip += 
queryTooltipTrvMainCuesheet;
                }
                catch(Exception)
                {
                        throw new NotImplementedException();
                }
        }

private void queryTooltipTrvMainCuesheet(object o, QueryTooltipArgs args)
        {
                try
                {
                        TreePath tp;
                        TreeIter ti;
                        this.trvMainCuesheet.GetPathAtPos(args.X,args.Y,out tp);
                        if (tp != null)
                        {
                                this.lsCuesheetData.GetIter(out ti,tp);
                                if (this.lsCuesheetData.GetValue(ti,8) != null)
                                {
                                        args.Tooltip.Text = 
this.lsCuesheetData.GetValue(ti,8).ToString();
                                        args.RetVal = true;
                                }
                        }
                }
                catch(Exception)
                {
                        throw new NotImplementedException();
                }
        }

My problem is, that I see the tooltip from the row above the one I should
see the tooltip at. I could find out, that this is because in
"trvMainCuesheet" I enabled the "HeadersVisible" option (because the headers
describe the data inside).

So, how can I get around this problem?

Thanks for every help I get ;).
Greetings
Sven

--
View this message in context: 
http://mono.1490590.n4.nabble.com/Treeview-Tooltip-for-each-Row-tp4304618p4304618.html
Sent from the Mono - Gtk# mailing list archive at Nabble.com.
_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list



--
Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/
_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to