Author Topic: Code::Blocks user interface idea  (Read 4981 times)

SajberToffe

  • Guest
Code::Blocks user interface idea
« on: December 02, 2007, 11:42:45 pm »
Hello, I'm a long time code blocks user, and I like it alot! Thanks to every one involved with making this great IDE!

One thing I find slowing down my productiveness time and again is finding a specific file to edit. There are several ways to do this in CB already (the project manager, opened files list, switch to, etc.)

But when the project has gained many files, it makes it troublesome to find the correct file.

I have an idea to simplify the user interface in the project manager a bit. In the special(?) case of having one header file for each c++ file (or similar), the project manager file tree consists of two almost identical branches, the Source branch for each c++ file and the Header for each h file. It'll look something like this:



My idea is that you'd have the option to combine both branches to make it look like this:



If there are several files with the same name, they'd get grouped. You'd easily be able to select which file you'd want by clicking on either the [cpp] or [h].

Maby it could be decorated with icons, like this:




I havn't seen the C::B implementation of that file tree code. Is it implemented in the core code or through a plug-in? Is wxWidgets this flexible?

You can of course get the similar functionality by just having one either the Headers tree or the Sources tree visible in view and use Swap Header/Source to get the file you want. But this would be a little less hassle and maby a little more elegant.

Would this be hard to implement in C::B?
« Last Edit: December 02, 2007, 11:45:10 pm by SajberToffe »

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: Code::Blocks user interface idea
« Reply #1 on: December 03, 2007, 12:28:15 am »
I think this is a nice idea. Unfortunately, it would be difficult to implement. The standard tree control in wxwidgets doesn't support the concept of grouping items within the tree. You could probably implement code to figure out the coordinates of the clicked items (allowing you to figure out whether the user clicked [c], [cpp] or [h]) but even that would be a little tricky... The other option would be to hand write you own Tree Control that fully supports item groupings such as the one you propose.

BTW if you right click on the tab of an open file you can choose to open the corresponding header or source

Offline cacb

  • Lives here!
  • ****
  • Posts: 536
Re: Code::Blocks user interface idea
« Reply #2 on: December 03, 2007, 01:02:29 am »
I think this is a nice idea. Unfortunately, it would be difficult to implement.

Isn't this idea essentially the same as providing a class browser MSVC++ 6 style ? A header + cpp file is typically a class. The Symbols view does that, but not quite.

I use the virtual folders in the project view a lot, they are nice when a project grows. The "Symbols" view feels a bit alien and it is easy to get lost, I would prefer to be able to expand the classes directly instead of below. But if the virtual folders of the projects view could be reflected into the "Symbols" view it would be nice....  :lol:

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5491
Re: Code::Blocks user interface idea
« Reply #3 on: December 03, 2007, 07:52:51 am »
on the project tree you can do :"find file". Which also helps a bit.

Offline kkez

  • Almost regular
  • **
  • Posts: 153
    • WinapiZone
Re: Code::Blocks user interface idea
« Reply #4 on: December 03, 2007, 11:36:27 am »
Right click on the project > Project tree > uncheck Categorize by file type. This could help you a bit.

SajberToffe

  • Guest
Re: Code::Blocks user interface idea
« Reply #5 on: December 04, 2007, 05:56:27 pm »
Right click on the project > Project tree > uncheck Categorize by file type. This could help you a bit.
Thanks, that's good enough.