Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » U++ community news and announcements » ide: Navigator redesigned
ide: Navigator redesigned [message #43416] Sun, 27 July 2014 19:39 Go to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Navigator is the pane to the left of editor, intended to search for code symbols.

I have had feeling that it is not as useful as it might be, so I have tried to redesign it.

I have removed "nesting" table, instead all items are two-line and contain class information too.

It is now possible to write ':' into search field, e.g. writing String: will list all methods of String, String:Cat will list all Cat methods.

If search field is empty, navigator shows elements of current file. (TODO: I think it will be good to rescan the file on adding/removing line).

It is also possible to write a number to search field, in that case it works as "Go to line number".

It is OK to press enter while in search field - it goes to the first item in the list.
Re: ide: Navigator redesigned [message #43438 is a reply to message #43416] Wed, 30 July 2014 18:23 Go to previous messageGo to next message
Mindtraveller is currently offline  Mindtraveller
Messages: 917
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

Hi, Mirek!
This is certainly an interesting attempt to make better code navigation.
In my opinion previous version had one good ability to switch between native and alphabet sorting. Personally I've used alphabet sorting because generally it was much easier to find one from alphabetically sorted routines.

I also would like to discuss the way items are visualized.

Mirek, it is certainly an era of widescreen PCs now, and it would be good to support widescreen features where possible. So if description of item is better fit into one line, it is better be so. In my opinion, you had an elegant visualization before:
<type> <namespace>::<item>
If you wanted to make it more elegant, you could make it something like this:
<namespace_semitransparent::><item>
(one column of semi-transparent drawn namespaces and next column of item names). And no horizontal lines.
If you need visualization, I'll make it.
This is how in my opinion it could be done better.

But anyway thank you very much for great tool like TheIDE!
Re: ide: Navigator redesigned [message #43441 is a reply to message #43438] Thu, 31 July 2014 15:32 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Mindtraveller wrote on Wed, 30 July 2014 18:23
Hi, Mirek!
This is certainly an interesting attempt to make better code navigation.
In my opinion previous version had one good ability to switch between native and alphabet sorting. Personally I've used alphabet sorting because generally it was much easier to find one from alphabetically sorted routines.


I will add an option for alphabetic sorting. But I think it will better be ignored in "file overview" mode.

Quote:

I also would like to discuss the way items are visualized.

Mirek, it is certainly an era of widescreen PCs now, and it would be good to support widescreen features where possible. So if description of item is better fit into one line, it is better be so. In my opinion, you had an elegant visualization before:
<type> <namespace>::<item>
If you wanted to make it more elegant, you could make it something like this:
<namespace_semitransparent::><item>
(one column of semi-transparent drawn namespaces and next column of item names). And no horizontal lines.
If you need visualization, I'll make it.
This is how in my opinion it could be done better.


Well, besides the width problem (and I have 1600 screen on notebook and 1920 on desktop), the other problem is that it is IMO good to see the name as first thing on the line.

But I think I might add an option for this too Smile

Thanks for comments.

Mirek
Re: ide: Navigator redesigned [message #43442 is a reply to message #43441] Thu, 31 July 2014 16:32 Go to previous messageGo to next message
Mindtraveller is currently offline  Mindtraveller
Messages: 917
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

mirek wrote on Thu, 31 July 2014 17:32
besides the width problem (and I have 1600 screen on notebook and 1920 on desktop), the other problem is that it is IMO good to see the name as first thing on the line.


Of course it is better! And I have a solution for you: you need to add return type and/or namespace ONLY in case of disambiguation, if you have items with similar signatures. In all other cases all you need is name of item, which will be draw first in line while fitting into single line.
Re: ide: Navigator redesigned [message #43444 is a reply to message #43442] Fri, 01 August 2014 08:11 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Mindtraveller wrote on Thu, 31 July 2014 16:32
mirek wrote on Thu, 31 July 2014 17:32
besides the width problem (and I have 1600 screen on notebook and 1920 on desktop), the other problem is that it is IMO good to see the name as first thing on the line.


Of course it is better! And I have a solution for you: you need to add return type and/or namespace ONLY in case of disambiguation, if you have items with similar signatures. In all other cases all you need is name of item, which will be draw first in line while fitting into single line.


But given the current logic, ambiguity is almost always the case...
Re: ide: Navigator redesigned [message #43499 is a reply to message #43444] Tue, 12 August 2014 20:55 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
One minor change: putting ':' in front of class name makes navigotor require full match.

So the list of options is now:

line number
'CAT' lists all elements where class name or member name contains 'CAT' (case ignored)
'STRING:CAT' lists all elements where class name contains 'STRING' and member name contains 'CAT' (case ignored) (so that includes e.g. StringBuffer::Cat)
':STRING:CAT' lists all elements where class name is equal 'STRING' and member name contains 'CAT' (case ignored) (does not include StringBuffer::)
Re: ide: Navigator redesigned [message #43501 is a reply to message #43499] Tue, 12 August 2014 21:53 Go to previous messageGo to next message
nixnixnix is currently offline  nixnixnix
Messages: 415
Registered: February 2007
Location: Kelowna, British Columbia
Senior Member
mirek wrote on Tue, 12 August 2014 11:55
One minor change: putting ':' in front of class name makes navigotor require full match.

So the list of options is now:

line number
'CAT' lists all elements where class name or member name contains 'CAT' (case ignored)
'STRING:CAT' lists all elements where class name contains 'STRING' and member name contains 'CAT' (case ignored) (so that includes e.g. StringBuffer::Cat)
':STRING:CAT' lists all elements where class name is equal 'STRING' and member name contains 'CAT' (case ignored) (does not include StringBuffer::)


'CAT' doesn't work but the second two cases do.

Nick

EDIT (moved from other thread): The ability to switch between declaration and definition would be good. Also, the current version is a little hard to read for me - even with 2560x1440 screen real estate is at a premium and having each member be two lines is not helping. The old version did everything I needed really. I can see how it would be good to be able to browse all versions of GetX() regardless of what class they are in but at the moment, the cost is greater than the benefit. I am happy to FindInFiles "GetX" and then step through them all. Losing the ability to jump between classes and to see all class members quickly and clearly is causing me problems. Have to say I love all the other recent improvements. Just not a fan of losing the class view so far.

Nick

EDIT: also, when diving into headers, it was handy for the navigate panel to tell you you're in the class you think you're in. Now I need to scroll up and down to check before I start typing. A big part of navigation is knowing where you are in addition to knowing how to get where you're going Smile

EDIT: I've been using this for a few hours and it really is not doing what I need. Is there any possibility that we could have the new functionality as another tab/option next to the old class view which was really the heart of theIDE UI and was what made it such a pleasure to use.

[Updated on: Wed, 13 August 2014 00:01]

Report message to a moderator

Re: ide: Navigator redesigned [message #43504 is a reply to message #43501] Wed, 13 August 2014 08:06 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Quote:


EDIT (moved from other thread): The ability to switch between declaration and definition would be good.


Alt+I ? (But that is not new...)
Re: ide: Navigator redesigned [message #43505 is a reply to message #43504] Wed, 13 August 2014 10:58 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
Mirek, it would be nice to also get the jumping between declaration and definition when repeatedly clicking on the function/method name like it was implemented with the old version.

At the moment, when clicking on the function/method it only jumps to the declaration/definition currently present in the edited file (usually declaration if .h file is shown and definition in case of a .cpp file).

Regards
Matthias


931b81e7ea53320dccc37375b34b38c3
Re: ide: Navigator redesigned [message #43506 is a reply to message #43505] Wed, 13 August 2014 12:50 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1366
Registered: November 2005
Location: Poland
Ultimate Contributor

I think that new navigator should appear in a new window as previous one. For example now I press ctrl-g and I type something and press cursor down and up to navigate through functions and editor cursor is moving instead. This is annoying. Very annoying Smile I would remove navigator from splitview (problem with longer names) and put it only in a popup dialog. It was a way more convenient for me.
Re: ide: Navigator redesigned [message #43508 is a reply to message #43505] Wed, 13 August 2014 19:23 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
masu wrote on Wed, 13 August 2014 10:58
Mirek, it would be nice to also get the jumping between declaration and definition when repeatedly clicking on the function/method name like it was implemented with the old version.

At the moment, when clicking on the function/method it only jumps to the declaration/definition currently present in the edited file (usually declaration if .h file is shown and definition in case of a .cpp file).

Regards
Matthias


Good idea.
Re: ide: Navigator redesigned [message #43509 is a reply to message #43506] Wed, 13 August 2014 19:24 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
unodgs wrote on Wed, 13 August 2014 12:50
I think that new navigator should appear in a new window as previous one. For example now I press ctrl-g and I type something and press cursor down and up to navigate through functions and editor cursor is moving instead. This is annoying. Very annoying Smile I would remove navigator from splitview (problem with longer names) and put it only in a popup dialog. It was a way more convenient for me.


OK, we can do that too - when Navigator is off, Ctrl+G could make dialog.

Overall, I thank for feedback, I have now some hopefully nice ideas I want to try...
Re: ide: Navigator redesigned [message #43518 is a reply to message #43509] Fri, 15 August 2014 17:11 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1401
Registered: September 2007
Ultimate Contributor
mirek wrote on Wed, 13 August 2014 20:24
unodgs wrote on Wed, 13 August 2014 12:50
I think that new navigator should appear in a new window as previous one. For example now I press ctrl-g and I type something and press cursor down and up to navigate through functions and editor cursor is moving instead. This is annoying. Very annoying Smile I would remove navigator from splitview (problem with longer names) and put it only in a popup dialog. It was a way more convenient for me.


OK, we can do that too - when Navigator is off, Ctrl+G could make dialog.

Overall, I thank for feedback, I have now some hopefully nice ideas I want to try...

One feature I used a lot in the navigator was jumping to classes in other files, even finding where certain definitions are.

The new pane defaults to the current file and the old dialog no longer appears.

So i suggest adding a new menu that always opens the old dialog and give it a new name.
Re: ide: Navigator redesigned [message #43532 is a reply to message #43518] Sun, 24 August 2014 19:41 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
I have finished next iteration of Navigator, hopefully resolving some issues mentioned here. Please check and report experiences...

Please note that search thing can take forms e.g.

.
Cat
String.
String.Cat
.Cat

Things I am considering: Sort button to sort items withing class. Perhaps third list showing files and lines...
Re: ide: Navigator redesigned [message #43535 is a reply to message #43532] Mon, 25 August 2014 18:56 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Positions list and sorting implemented....
Re: ide: Navigator redesigned [message #43559 is a reply to message #43535] Sun, 31 August 2014 16:18 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
I have updated Ctrl+J dialog with new Navigator features. Hopefully this will be perceived as 'upgrade', not 'downgrade' Smile
Re: ide: Navigator redesigned [message #43619 is a reply to message #43559] Mon, 15 September 2014 15:46 Go to previous message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Navigator now rescans the current file automatically (after about 1s pause of editing activity).
Previous Topic: Writable references to ValueArray/ValueMap/Value elements
Next Topic: ide: Block replace now provides new grep-like options
Goto Forum:
  


Current Time: Thu Mar 28 09:19:22 CET 2024

Total time taken to generate the page: 0.01240 seconds