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 » U++ TheIDE » U++ TheIDE: CodeEditor, Assist++, Topic++ » Proposal about editor tabs
Proposal about editor tabs [message #19929] Tue, 03 February 2009 09:39 Go to next message
Mindtraveller is currently offline  Mindtraveller
Messages: 916
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

TheIDE has good solution for dividing source files list with separators. I think it will be good idea to apply dividing to the tabs. The will slightly improve tabs mess, especially for large projects.
Alternative 1: Files from separator group are shown in it`s own tabs line. If no files from group are open - line disappears.
Alternative 2: Tabs could be grouped by separator group. Each tabs group is visually divided from each other (i.e. by vertical line).

For example of Alternative 1.
Package:
/separator/->>Common files
main.cpp
common.h
/separator/->>Group1
Group1Class1.cpp
Group1Class1.h
Group1Class2.cpp
Group1Class2.h
/separator/->>Group2
Group2Class1.cpp
Group2Class1.h
Group2Class2.cpp
Group2Class2.h
/separator/->>Group3
Group3Class1.cpp
Group3Class1.h
Group3Class2.cpp
Group3Class2.h


Opened files are:
main.cpp
common.h
Group1Class1.cpp
Group1Class1.h
Group1Class2.cpp
Group2Class1.h
Group2Class2.cpp
Group2Class2.h

Editor tabs are shown in 3 lines:
main.cpp / common.h
Group1Class1.cpp / Group1Class1.h / Group1Class2.cpp
Group2Class1.h / Group2Class2.cpp / Group2Class2.h
Re: Proposal about editor tabs [message #19931 is a reply to message #19929] Tue, 03 February 2009 14:27 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1355
Registered: November 2005
Location: Poland
Senior Contributor

The idea with this grouping is very interesting. I was also thinking about something similar. But first I have to finish merging docking package with ide (I'm quite close to finish this, however my commercial projects steal my time over and over agein). But then I would like to improve quick tabs. If someone has other ideas please write about them.
Re: Proposal about editor tabs [message #19935 is a reply to message #19931] Tue, 03 February 2009 18:26 Go to previous messageGo to next message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
Quote:

Alternative 2: Tabs could be grouped by separator group. Each tabs group is visually divided from each other (i.e. by vertical line).

I've just added something like this with horizontal serperators:
index.php?t=getfile&id=1569&private=0
I still have to do the Paint and Style code to show anything in the gap, but you get the idea. I'll probably finish it tomorrow, I've just found a strange memory bug in TabBar too.
Sorting tabs by group is also added (optional of course), since it's required for the seperators to work properly

What I'd like to see:
Stacking tabs - .h/.cpp (and possible .lay) files are stacked to reduce the space used. Clicking on the stack flips between them.
This will require Painting changes to show the stacking though, so it'll be a sod to do.
Some sort of group display above the TabBar - Allowing quick access to selecting/closing groups. I've tested this just now with another TabBar and it works ok, although I'd rather something cleverer that didn't take up as much vertical space.

IMO any solution should use as little vertical space as possible. I like as many lines of code visible as possible Smile
  • Attachment: TabBar.PNG
    (Size: 5.27KB, Downloaded 716 times)
Re: Proposal about editor tabs [message #19937 is a reply to message #19935] Tue, 03 February 2009 18:55 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1400
Registered: September 2007
Senior Contributor
Quote:

Stacking tabs - .h/.cpp (and possible .lay) files are stacked to reduce the space used. Clicking on the stack flips between them.

I second that! While U++ favors one big header, this would still be greatly useful and would help cleanup the problem of a lot of tabs a little. We could have two extra buttons on the toolbar, one for source and one for header. If one of them is not available, the button would be grayed out. And an easy keyboard shortcut to witch between them.

Or maybe we put small buttons on each tab. Or above the code navigator, with large buttons and text that says clearly "Source" and "Header". This would be better than in some less intuitive place. We don't want to make TheIDE even more unfriendly to new users, do we?

index.php?t=getfile&id=1570&private=0


  • Attachment: untitled3.PNG
    (Size: 29.20KB, Downloaded 492 times)
Re: Proposal about editor tabs [message #19938 is a reply to message #19937] Tue, 03 February 2009 19:18 Go to previous messageGo to next message
Mindtraveller is currently offline  Mindtraveller
Messages: 916
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

cbpporter, just to polish your idea a little to keep interface intuitive, I`d like to propose chang tab this way:
/Synchronize[.cpp][x]\
where [.cpp] and [x] are button-looking images.
Interface rule is simple: clicking active tab switches it to Synchronize.cpp<->Synchronize.h
User will consider [.cpp] as a small button and will click tab. After some time he understand that it is not necessary to click small [.cpp] button, clicking any tab point is ok too.
Re: Proposal about editor tabs [message #19943 is a reply to message #19938] Wed, 04 February 2009 15:44 Go to previous messageGo to next message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
I've added tab stacking to the TabBar class now:
index.php?t=getfile&id=1572&private=0
The screenshot shows a TabBar-derived QuickTabs that has the same class interface as the ide package, so in theory could replace it.

Clicking on a tab cycles through the stacked tabs. Adding buttons (or more likely hyperlink-style text) for the stacked tabs requires a bit more work, but may be possible. I'd also like to modify the appearance of the stacked tabs so that you can see the tabs 'behind' them, but unpredictable OS themeing may make this impossible.

Excecutable in next post. I won't update the SVN version for while, since the Docking package relies on TabBar and I don't want to break it.
  • Attachment: stacking.PNG
    (Size: 10.22KB, Downloaded 480 times)
Re: Proposal about editor tabs [message #19944 is a reply to message #19943] Wed, 04 February 2009 15:46 Go to previous messageGo to next message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
Executable (Win32) example of stacked tabs.
Re: Proposal about editor tabs [message #19945 is a reply to message #19944] Wed, 04 February 2009 16:20 Go to previous messageGo to next message
cbpporter is currently offline  cbpporter
Messages: 1400
Registered: September 2007
Senior Contributor
That really works fine! I believe something like this would be a worthwhile addition to TheIDE.

I also figured out what the deal with that small dark-blue line under the tabs: it's a scrollbar! I always try yo keep my tab bar with as few elements as needed so that they all fit, and I never noticed that you can scroll that.

And since we are talking about the tab bar, I would like to see an option which when turned on will change the text from "filename" to "packagename/filename". I know this is quite long, but when working with a lot of packages, one must always figure out the package name based only on the filename.
Re: Proposal about editor tabs [message #19946 is a reply to message #19945] Wed, 04 February 2009 21:01 Go to previous messageGo to next message
tojocky is currently offline  tojocky
Messages: 607
Registered: April 2008
Location: UK
Contributor

I don't think that it is a good idea! we do not complicate our life! this propose nothing optimize!
It is my opinion!
Re: Proposal about editor tabs [message #19956 is a reply to message #19946] Thu, 05 February 2009 10:29 Go to previous messageGo to next message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
tojocky wrote on Wed, 04 February 2009 20:01

I don't think that it is a good idea! we do not complicate our life! this propose nothing optimize!
It is my opinion!

Don't worry, it will be completely optional.
Re: Proposal about editor tabs [message #19998 is a reply to message #19943] Sun, 08 February 2009 18:59 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 891
Registered: December 2006
Experienced Contributor
mrjt wrote on Wed, 04 February 2009 09:44

I've added tab stacking to the TabBar class now:



In which way tab stacking is better than nested tabs? Nested tabs seem to be a natural representation of hierarchy.


Regards,
Novo
Re: Proposal about editor tabs [message #19999 is a reply to message #19998] Sun, 08 February 2009 19:35 Go to previous messageGo to next message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
Novo wrote on Sun, 08 February 2009 17:59

In which way tab stacking is better than nested tabs? Nested tabs seem to be a natural representation of hierarchy.


I'm not sure I understand the question. Stacking is an internal function of the TabBar, but nested tabs can be implemented externally by combining multiple TabBars. The docking package will continue to use nesting.

TheIde could have a similar system by using two TabBars, one for the file group and one for inidividual files, and this is easy to do without any internal changes to TabBar.

Whatever system is used in TheIde will not be decided by me, I only implemented tab stacking because I thought it was cool Smile
Re: Proposal about editor tabs [message #20024 is a reply to message #19999] Wed, 11 February 2009 05:20 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 891
Registered: December 2006
Experienced Contributor
mrjt wrote on Sun, 08 February 2009 13:35


I'm not sure I understand the question.


Stacking is just another way of grouping files if I understand it correctly. IMHO, nested tabs is a more natural way of grouping. You just see what is inside of a group. No need to decode content of a tab name. You can group open files by package names instead of just names.

Just my two cents.


Regards,
Novo
Re: Proposal about editor tabs [message #20028 is a reply to message #20024] Wed, 11 February 2009 09:36 Go to previous messageGo to next message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
Novo wrote on Wed, 11 February 2009 04:20

Stacking is just another way of grouping files if I understand it correctly. IMHO, nested tabs is a more natural way of grouping. You just see what is inside of a group. No need to decode content of a tab name. You can group open files by package names instead of just names.


Well, what I was trying to say was that it is not a choice between the two. You could have nested tabs for the package groups, and then a seperate option for stacking files by name within the groups. The criteria used for stacking files can be different to that used for grouping them.

[Updated on: Wed, 11 February 2009 09:37]

Report message to a moderator

Re: Proposal about editor tabs [message #20029 is a reply to message #20028] Wed, 11 February 2009 10:05 Go to previous messageGo to next message
unodgs is currently offline  unodgs
Messages: 1355
Registered: November 2005
Location: Poland
Senior Contributor

I don't like nested tabs. They eat editor space. I think mrjt's solution is quite good.
Re: Proposal about editor tabs [message #20074 is a reply to message #20029] Mon, 16 February 2009 11:19 Go to previous messageGo to next message
Mindtraveller is currently offline  Mindtraveller
Messages: 916
Registered: August 2007
Location: Russia, Moscow rgn.
Experienced Contributor

Also, I`d like to propose an option to group tabs by their package separator group without using additional space. We could do 2 things:
1) sort tabs by separator group
2) use slightly different color for tab of i-th group (something like this:
group 0: SColorFace()
group 1: SColorFace()+"slighly red"(30,0,0)
group 2: SColorFace()+"slighly yellow"(15,15,0)
group 3: SColorFace()+"slighly green"(0,30,0)
group 3: SColorFace()+"slighly blue"(0,0,30)
...

P.S. If I understand correctly what you mean by "nested tabs" (something like AAA.cpp/.h/.lay within tab caption) and you don`t like that it uses more space than original tab, I want to say that it is not necessary to draw all the options inside tab caption. We may just leave caption as-is but do switch on clicking active tab. Or we may draw something informative when mouse pointer is over active tab caption to inform user that he may click it to switch. From usability point of view there`s no sense in drawing many .cpp/.h pairs within all open tabs. User needs this information only for opened tab, so we may draw .cpp/.h options only for active tab. We may draw it this way:
AAA.cpp - when it could be switched to some other file (there must also be shortcut for switching by keyboard)
or AAA.cpp - when there`s nothing to switch to.

[Updated on: Mon, 16 February 2009 11:46]

Report message to a moderator

Re: Proposal about editor tabs [message #20093 is a reply to message #20074] Tue, 17 February 2009 11:21 Go to previous messageGo to next message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
Mindtraveller wrote on Mon, 16 February 2009 10:19

Also, I`d like to propose an option to group tabs by their package separator group without using additional space. We could do 2 things:
1) sort tabs by separator group

This is easy to do and already implemented in what will (presumably) be the future QuickTabs, with optional serparator (|) between groups.
Quote:


2) use slightly different color for tab of i-th group (something like this:

I think this has been tried before and personally I didn't like it much. The problem is also more difficult these days because the tab backgrounds are drawn using the GUI theme which shouldn't be colourized. Some other indicator, such as a superscrip 1/2/3 might work though.

Quote:

P.S. If I understand correctly what you mean by "nested tabs" (something like AAA.cpp/.h/.lay within tab caption)...

This is a misunderstanding I think. What I mean by nested tabs is having two tab bars, one for groups (upper) and one for files (lower). When a group tab is clicked the lower bar is filled with the files for that group. My and unodgs objection to this idea is that it uses too much vertical editor space, the most precious dimension Smile. Tab stacking (/h/cpp) etc has the advantage of saving horizontal space without increasing the vertical dimensions. Exactly how the stacking is done and displayed is application specific (though controlled internally in the TabBar) and easy to change so we can explore different representations.

Re: Proposal about editor tabs [message #20096 is a reply to message #19929] Tue, 17 February 2009 13:57 Go to previous messageGo to next message
mr_ped is currently offline  mr_ped
Messages: 801
Registered: November 2005
Location: Czech Republic - Praha
Experienced Contributor

I'm using "ColorfulTabs" extension for firefox, and it's beautiful IMHO, although I don't use it's "group" option, so I have every tab with different color, and I'm not sure if it would work for groups too. But from visual standpoint I don't see any problem to break the OS theme if the result will look as good as ColorfulTabs.

https://addons.mozilla.org/en-US/firefox/images/p/12745/1173752156
Re: Proposal about editor tabs [message #20104 is a reply to message #20096] Tue, 17 February 2009 19:21 Go to previous message
mrjt is currently offline  mrjt
Messages: 705
Registered: March 2007
Location: London
Contributor
That is indeed very pretty!

I'll have a think about how it could be done. The issue isn't so much violating the the OS theme, more that it's not possible to use <i>any</i> of the OS theme with colouring (since the theme includes bits you would not want coloured and theres no way of differentiating).

Something could be done with styles though.

Previous Topic: tooltip bug with assist++
Next Topic: Zenburn CodeEditor colors
Goto Forum:
  


Current Time: Sat Dec 07 08:26:15 CET 2019

Total time taken to generate the page: 0.01639 seconds