[comp.sys.mac.programmer] How do I get the MacApp/C++ browser?

gilstrap@pooh_corner.sbc.com (Brian R. Gilstrap) (11/03/90)

I was talking with someone at OOPSLA last week and he told me that if
I upgraded to MacApp version 2.0 from MacApp version 2.0B9 that I would get
this nifty browser that lets me look at my class heirarchy and also edit my
methods and everything.  However, when I look at the MacApp description, it
doesn't seem to mention the browser.

Also, he said something about there being an old version of the browser that
(the old?) APDA offered but has since discontinued since the new neato one
has come out.

Can anyone clear this up for me?  What I really want to do is use the 
browser to browse C++ code, but if I have to upgrade MacApp I'll do so.

Thanks in advance,

Brian R. Gilstrap
gilstrap@pooh_corner.tri.sbc.com
gilstrap@swbatl.sbc.com
...!{texbell,uunet}!swbatl{!pooh_corner}!gilstrap

peirce@outpost.UUCP (Michael Peirce) (11/07/90)

In article <1990Nov2.171205.7148@swbatl.sbc.com>, gilstrap@pooh_corner.sbc.com (Brian R. Gilstrap) writes:
> 
> 
> I was talking with someone at OOPSLA last week and he told me that if
> I upgraded to MacApp version 2.0 from MacApp version 2.0B9 that I would get
> this nifty browser that lets me look at my class heirarchy and also edit my
> methods and everything.  However, when I look at the MacApp description, it
> doesn't seem to mention the browser.

Look for an App called Mouser.

Also, Jasik's debugger understands classes very well and has a very
nice object browser built into it.  It has the advantage of getting
its information from the .SYM file, so there is no extra parsing step
to feed the source into the browser.

-- michael


--  Michael Peirce         --   {apple,decwrl}!claris!outpost!peirce
--  Peirce Software        --   Suite 301, 719 Hibiscus Place
--  Macintosh Programming  --   San Jose, California 95117
--         and Consulting  --   (408) 244-6554

ech@cbnewsk.att.com (ned.horvath) (11/08/90)

In article <1990Nov2.171205.7148@swbatl.sbc.com>, gilstrap@pooh_corner.sbc.com (Brian R. Gilstrap) writes:
> ...However, when I look at the MacApp description, it
> doesn't seem to mention the browser.

From article <b.ALR4VN@outpost.UUCP>, by peirce@outpost.UUCP (Michael Peirce):
> Look for an App called Mouser.

It's been renamed in MacApp 2.0 final: look for MacBrows.  Also on the ETO
CDROM, so presumably ETO will track any additional improvements.

A nice, and welcome, piece of work -- thanks, Mary (and Bo3b)...

=Ned Horvath=

jordan@Apple.COM (Jordan Mattson) (11/08/90)

Dear Folks -
 
Actually, the name of Mouser has been changed to MacBrowse.....


-- 


Jordan Mattson                         UUCP:      jordan@apple.apple.com
Apple Computer, Inc.                   CSNET:     jordan@apple.CSNET
Development Tools Product Management   AppleLink: Mattson1 
20400 Stevens Creek Blvd, MS 75-8X
Cupertino, CA 95014
408-974-4601
			"Joy is the serious business of heaven."
					C.S. Lewis

gilstrap@pooh_corner.sbc.com (Brian R. Gilstrap) (11/08/90)

In article <46369@apple.Apple.COM>, jordan@Apple.COM (Jordan Mattson) writes:
|> Actually, the name of Mouser has been changed to MacBrowse.....

Hmmmm, does it have more capabilities than the Mouser that shipped with
MacApp 2.0?  In particular, Mouser doesn't seem to handle inline member
functions which have the body in the '.h' file but not in the class
declaration.  All I get is the declaration line from the class itself,
which doesn't help much.  I like to declare my member functions which are
inline in the class, but put the implementations at the bottom of the '.h'
file to avoid cluttering the class definition.  I also noticed that Mouser
doesn't distinguish between overloaded operators which take different
argument types.  For example, a simple test string class I wrote has the
"<=" operator (or an inline friend function) for all combinations of C string
or Pascal string, and the string class.  However, in the method/member-function
panel in the browser, it's just a list of 5 or so "<="s without any typing
information or anything.  Ideally, the list would look more like:

const Str & <= const char *
const Str & <= const PascalString
const char * <= const Str &
const PascalString <= const Str &
...

Or perhaps like this (my favorite):

<=( const Str &, const char * )
<=( const Str &, const char * )
<=( const Str &, const PascalString )
<=( const char *, const Str & )
<=( const PascalString, const Str & )
...

What's particularly nice about this second approach is that all MacBrowse
has to do is grab the text of the declaration (between the parens) and use
that rather than just the operator name itself.  So, in theory at least
(we all know how theory relates to practice) it ought to be a near-trivial
change.

Don't get me wrong, I think it's neat that Mouser supports C++ at all.  But
I'm wondering if MacBrowse has even greater support, primarily because Mouser
in its current incarnation (as far as I've seen it) is definitely headed in
the right direction but doesn't quite have all the functionality needed.
However, to avoid sounding like a grouch, let me note that it is definitely
*neat* that you can edit the method/member-function definitions and
implementations in the browser itself.

Anyway, if anyone can tell me yea or nay about MacBrowse and/or perhaps pass on
my suggestions to whomever is working on MacBrowse, I'd appreciate it.

Brian R. Gilstrap
gilstrap@pooh_corner.tri.sbc.com
gilstrap@swbatl.sbc.com
...!{texbell,uunet}!swbatl{!pooh_corner}!gilstrap