Hi,

I have a suggestion for improving wxTreeListCtrl.

I wanted to add tool tips to a wxTreeListCtrl but had a little
trouble that I have since worked around.  I want the tool tips to be
based on the item I'm hovering over.

To do this, I added a handler for mouse motion and am using HitTest
to figure out which item I'm hovering over.

There's a problem with this, though: the header.  I needed a way to
account for the height of the header but m_headerHeight is a private
member.

My first change was to make a protected GetHeaderHeight() method.
Then in my OnMouseMotion handler I can do this:

  wxPoint point (event.GetX(), event.GetY() + GetHeaderHeight());
  wxTreeItemId item = HitTest (point);


Second, wxWindow::SetToolTip() doesn't work correctly since it's
really the main window that needs to handle the tool tip.  So my
second change was to override wxTreeListCtrl::SetToolTip() and
have my function call m_main_win::SetToolTip().

Here's the whole function that I added to the end of treelistctrl.cpp:

void wxTreeListCtrl::SetToolTip (const wxString &tip)
{
  m_main_win->SetToolTip (tip);
}

And here are the changes I made to the protected section of treelistctrl.h:

    int GetHeaderHeight() const { return m_headerHeight; }
    void SetToolTip (const wxString &tip);


This leads me to a final question:  Why does wxTreeListCtrl have
public member functions GetHeaderWindow() and GetMainWindow()?
Since the classes they returned are only defined inside treelistctrl.cpp,
I don't see how they do me any good.  I could have accomplished
both of the changes I suggest above if I could get at these classes,
but I cannot.  Am I missing something obvious?

Thanks,

carl
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
wxCode-users mailing list
wxCode-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxcode-users

Reply via email to