BeClassBrowser Home Page

The ONLY class browser for BeOS!


It displays class hierarchies?
Yup! (Finally!)

Is it slow?
Probably.

Does it use a lot of disk space?
Most likely.

Does it integrate with my editor and let me browse my C++ files with ease?
Yes.

Awesome!
Exactly.

beclassbrowser.jpg


Current Status:

I am no longer actively developing this application. I am not particularly motivated by this project, I much prefer working on BeExplorer and BeChess.

If enough people ask for me to continue working on this project I will, of course, make time. Alternatively, if someone else likes it enough they would like to work on it, just drop me a line and I'll send you everything I have.

Features:

Potential Features:

How does it work?

How do I use it?

Add something like this to your Makefile:

Compiler header1.h header2.h header3.h code1.cpp code2.cpp code3.cpp

Be sure to put your .h files before your .cpp files (another feature would be to sort out the headers files and do them first).

This will generate a "data.db" file. Run the BeClassBrowser from the directory that contains this file (another feature would be to add File-Open).

Compiling the BeOS headers ...

Normally, the Compiler program takes a list of files to use, but we don't want to type those all out, right? So we first generate the tags file before running the Compiler. Use the following command:
ctags --c-types=+A+C --sort=no --excmd=both -p /boot/develop/headers/be -R

        ^^^^^^1^^^^^   ^^^2^^^   ^^^^^3^^^^  ^^^^^^^^^^^^^^4^^^^^^^^^^^ ^5^
See "ctags --help" for details, but here is a rough guide to what this means.

  1. create the tags file with special C++ information
  2. don't sort the resulting tags file (slow, just a waste)
  3. print both the context and the line number (my slight modification)
  4. use this as the base directory
  5. recurse directories
Ok, so now you have a rather large file called "tags" in your current directory. So we take this file and pass it to Compiler like this:

Compiler -f tags
You will see an error something like:
Unable to resolve references on the following tags:
sound_error /boot/develop/headers/be/./media/SoundPlayer.h class sound_error : public exception { c
Don't worry about it, Compiler just couldn't find the definition of "exception" which is actually in the C++ header files. There will now be a file called "data.db" in your current directory. You can now delete the file "tags", you don't need it anymore.

Run BeClassBrowser from the directory containing "data.db". It will take a few moments to come up, there is a lot of information and it has to sort it all.

Where do I get it?

Right here! It is only available for x86.

I like this project, I'd like to work on it!

Drop me a line, I'll send you the code with a little bit of documentation. The project began as a "small" project, it has gotten rather complicated since that time. The browser part of the code is quite clean (but mostly undocumented), but the compiler part is rather messy.




Home: www.TimPhilip.net (site map)
Email: me@TimPhilip.net

Copyright '98, '99, © Tim Philip
netpositiveopt

petile