Page 1 of 1

debug quick watch request plus 1 possible solution patch

Posted: Sun Jan 31, 2010 10:26 pm
by dlh
request: Provide a means of opening tree branches for viewing without requiring mouse clicks, based on mouse flyover only.

reason: It's a little easier/quicker to work with when using a touchpad where mouse buttons require "excessive" hand/finger motion.

One possible solution contained in svn diff against svn rev3686 files.

operation: Moving mouse over text of collapsed tree branch will result in expansion of that tree branch. In general, only one expansion path of a tree is kept open, if you move to open new branch, other branches under same parent will be collapsed. (I don't think this is a completely accurate description, best to just apply patch and try it.)

I don't completely like it, due to some jumpiness that can occur, I think due to the way the tree control handles expanding/collapsing and repositioning the tree within the window, when the expansion and resulting redisplay causes the branch that initiated the expansion to be moved out from under where the mouse is. (What I'd like better I'm not yet knowledgeable enough about wxwidgets to accomplish, possible overlaying borderless windows, where the next level up would always be available "just beyond" the last overlay displayed.) But I do like it better than having to move hand/fingers for touchpad buttons. It's also more of a problem on larger structures (such as wxMenu) than smaller structures (wxString).

caveats: I'm new to both codelite, wxwidgets, and generating diff patches. Only tried on windows, but I think the changes are basic wxwidgets implementation.

Re: debug quick watch request plus 1 possible solution patch

Posted: Tue Feb 02, 2010 11:45 pm
by eranif
Hi,

I tried to apply the patch but failed.

Please try generating the patch like this:

From codelite source tree, run svn diff > codelite.patch

Eran

Re: debug quick watch request plus 1 possible solution patch

Posted: Wed Feb 03, 2010 8:19 am
by dlh
OK - first attempt was done from inside LiteEditor sub-directory, I think.

This one is done from one level above that, hopefully this will work for you.

Re: debug quick watch request plus 1 possible solution patch

Posted: Thu Feb 04, 2010 9:22 am
by eranif
dlh wrote:This one is done from one level above that, hopefully this will work for you.
The patch worked fine. However, I did not like the result (the tip was "jumpy")

BUT, I did like the idea, so I took the liberty to implement it a bit differently:

Rather than expanding the items in the 'OnMouseMotion' event, I added a timer so now the item is expanded only if the user
hovers the same item for more than 500ms - this way I can move my mouse around without expanding every item that hits in its way :)

In addition, I made this functionality optional by adding new flag to the 'Settings > Debugger Settings' dialog (under the 'Debugger Tooltip' section)

It works nice now.

You can update your SVN sources and give it a try

Thanks!
Eran