[comp.sys.mac.programmer] CAPPS'

borton@uva.UUCP (Chris Borton) (10/11/88)

In article <2580001@hpausla.HP.COM> jcl@hpausla.HP.COM (Jeff Laing) writes:
>I have just sent off for a copy of Capps' for LSC because I needed the facility
>of text editing in my program; what I would have liked instead is to have had
>SigmaEdit (the best of the D/A editors I've seen so far) respond to Control
>messages that instructed it to 'open specified file, scroll to specified line'
>from any application.  That way I only have the one copy of the edit routines
>even if I develop multiple programs.   What would have been best of all would
>be a TextEdit that automatically stuck scroll bars in the rectangle for me and
>handled all that stuff inside TEClick!!!

I'd like to take this opportunity to espouse the (in my opinions) extremely
high quality and value of CAPPS' for LSC.  The interesting thing to note here
is that you can now easily program your wishes--SigmaEdit is a poor ripoff
(with near-0 reworking) of the Apple-Edit DA Sample that comes with CAPPS'.

For those who are wondering: CAPPS' is a library of routines modelled exactly
after TEdit that support tabs.  Simply put: it's the text editing routines
from LightspeedC.  No word wrap and it's incredibly fast.  No 32K limit; only
limit is memory.  Comes with library for PEdit routines, GREP searching and
multi-directory searching.  PEdit includes commands like scroll to line x in
addition to all the TEdit equivalents.

What is really super, I think, are the two samples that come with it.  One is
PEdit, a C-pretty printer, and the other is Apple-Edit, a DA.  These samples
are extremely well-organized and written (I might have a few small
differences of opinion a few places, but trivial), fully commented and
provide a wonderful base for most Mac applications.  This is what I used to
develop my shell.

For applications needing program-style text editing, which is a surprising
majority in my experience, this library is what I need.  It works great!

>Oops, starting to wander.  Anyway, my point.  Could some enterprising person
>out there have written the tab handling TextEdit and installed it over the old
>one? (I accept that they are going to trail behind on things like style, fonts,
>etc but thats another issue)  I don't mind having to install it in my system

MacTutor did have an article doing this a year or two back, but a friend of
mine claimed it was problematical.  Don't know myself.  I use CAPPS' instead
and am very happy.  TEdit is NOT designed for real text editing (see Tech
Note 203); it does a full shift of ALL char's on every char insert.  ==>bad
performance.  PEdit and other systems designed for big text editing use a gap
near the insertion point to provide room to shift into.

>The same argument could be applied to things like MDEF-0 (tearoff windows tend
>to require changes to the MDEF to allow the draggable image).  MacTutor has
>published source which shows how .. why not make it a standard NOW???

Since this implementation was approved by Apple Tech, it is a standard in my
opinion.  Just needs to be distributed widely...

Aside: since I like Apple-Edit so much, and friends of mine like Sigma-Edit a
	lot, I've decided to embark upon a furthering of that idea and flesh
	it out with some features such as real printing, etc.  Feel free to
	mail me ideas; the first version will read WriteNow and MacWrite
	formats as well (already have that done...).  

Note: believe it or not, I have no connection with THINK.  I just feel that
	CAPPS' is a tremendous product that could improve a lot of things and
	that has not gotten enough exposure.

-cbb
-- 
Chris Borton	borton%uva@mcvax.{nl,bitnet,uucp} 
Rotary Scholar, University of Amsterdam CS

rcb@rti.UUCP (Random) (10/11/88)

In article <549@uva.UUCP> borton@uva.UUCP (Chris Borton) writes:
>
>For those who are wondering: CAPPS' is a library of routines modelled exactly
>after TEdit that support tabs.  Simply put: it's the text editing routines
>from LightspeedC.  No word wrap and it's incredibly fast.  No 32K limit; only
>limit is memory.  Comes with library for PEdit routines, GREP searching and
>multi-directory searching.  PEdit includes commands like scroll to line x in
>addition to all the TEdit equivalents.
>

CAPPS' is a wonderful product. I am going to use it in my current program.
However, I have one small complaint. It does not support the arrow keys.
I'm going to have to try to fake this with my function that handles
typing. Oh well, nothings perfect.
-- 
					Randy Buckland (919)-541-7103
					Research Triangle Institute
					rcb@rti.rti.org [128.109.139.2]
					{decvax,ihnp4}!mcnc!rti!rcb

denn@violet.berkeley.edu (Leonard Rosenthol) (10/12/88)

In article <549@uva.UUCP> borton@uva.UUCP (Chris Borton) writes:
>I'd like to take this opportunity to espouse the (in my opinions) extremely
>high quality and value of CAPPS' for LSC.  The interesting thing to note here
>is that you can now easily program your wishes--SigmaEdit is a poor ripoff
>(with near-0 reworking) of the Apple-Edit DA Sample that comes with CAPPS'.

   As author of SigmaEdit I take great offense at that comment!!  It is true
that the original core of SigmaEdit (like 1.0D1) was the AppleEdit DA that
comes with CAPPS' HOWEVER I think that if you look at SigmaEdit closely (or
even not that closely) you will find A LOT OF FEATURES that are not implemented
in the AppleEdit DA or even in the PEdit application!!  Some examples include
the Undo, Printing, PowerKeys, Typestyle dialog, Enter Ascii, Paren Balancing,
etc......  If you had even used SigmaEdit ONCE - you would have known this!

>What is really super, I think, are the two samples that come with it.  One is
>PEdit, a C-pretty printer, and the other is Apple-Edit, a DA.  These samples
>are extremely well-organized and written (I might have a few small
>differences of opinion a few places, but trivial), fully commented and
>provide a wonderful base for most Mac applications.  This is what I used to
>develop my shell.

   Agreed!  Both examples are well done (for the most part) and are easy to
follow and do provide nice shells for editing types of applications.

>For applications needing program-style text editing, which is a surprising
>majority in my experience, this library is what I need.  It works great!

   Just to point out that you can also use PEdit any place that you can use
TextEdit.  For example I recently used PEdit in a useritem inside a modal
dialog as the dialog required the ability to display/edit some source code
(so I needed tabs).  This was not that hard to do at all (no more so than 
doing the same thing with TEdit!)

>Aside: since I like Apple-Edit so much, and friends of mine like Sigma-Edit a
>	lot, I've decided to embark upon a furthering of that idea and flesh
>	it out with some features such as real printing, etc.  Feel free to
>	mail me ideas; the first version will read WriteNow and MacWrite
>	formats as well (already have that done...).  
>
   Good luck!  I guess that I will be seeing you in the DA menu then...

>Chris Borton	borton%uva@mcvax.{nl,bitnet,uucp} 
>Rotary Scholar, University of Amsterdam CS


/* ============================================================ */
/*  Leonard Rosenthol           | GEnie:  MACgician             */
/*  President, Lazerware inc.   | Delphi: MACgician             */
/*                              | MacNet: MACgician             */
/*  denn@violet.berkeley.edu    | AppleLink: D0025              */

singer@endor.harvard.edu (Rich Siegel) (10/13/88)

In article <2500@rti.UUCP> rcb@rti.UUCP (Random) writes:

>CAPPS' is a wonderful product. I am going to use it in my current program.
>However, I have one small complaint. It does not support the arrow keys.
>I'm going to have to try to fake this with my function that handles
>typing. Oh well, nothings perfect.

	It's not within the scope of PE to support arrow keys, since the 
semantics of an arrow key may vary from application to application, and 
PE is useful for other things besides pure text editing (for example, the
LightspeedC debugger makes heavy use of PE routines).

	It's much simpler, from the developer's point of view, to have the
application support arrow keys, rather than the library. Look at the PEdit
sample application to see how it's done.

		--Rich


Rich Siegel
Staff Software Developer
THINK Technologies Division, Symantec Corp.
Internet: singer@endor.harvard.edu
UUCP: ..harvard!endor!singer
Phone: (617) 275-4800 x305

Any opinions stated in this article do not necessarily reflect the views
or policies of Symantec Corporation or its employees.

jcl@hpausla.HP.COM (Jeff Laing) (10/14/88)

> borton@uva.UUCP (Chris Borton) writes ...
>
>> jcl@hpausla.HP.COM (Jeff Laing (ME!)) writes ...
>>I have just sent off for a copy of Capps for LSC ....

It just arrived yesterday.  Boy, oh boy, could Australian Software Dealers
learn from the mail orders in the U.S.A.

> I'd like to take this opportunity to espouse the (in my opinions) extremely
> high quality and value of CAPPS' for LSC. ...
>
> ... What is really super, I think, are the two samples that come with it.

What I think, quite frankly, stinks is that the manual which comes with it is
loose leaf and requires a three ring binder.  The LSC manual I have is properly
bound; I presume that 3.0 came with a binder ....

Still, the content looks good and I dont suppose a binder is going to break
the bank.

> MacTutor did have an article doing this a year or two back, but a friend of
> mine claimed it was problematical.

I think a guy named Brian Powell (?) posted an article explaining how to do it
at one stage as well, but it still didnt work when I tried it; I think Apple
must have changed Textedit after he posted because there were hooks that he
didnt hit that he did have to.   ANYWAY, I have Capps' now so it aint a problem

>>.. same argument could be applied to things like MDEF-0 (tearoff windows tend
>>to require changes to the MDEF to allow the draggable image).  MacTutor has
>>published source which shows how .. why not make it a standard NOW???
>
> Since this implementation was approved by Apple Tech, it is a standard in my
> opinion.  Just needs to be distributed widely...

Actually, I wanted to write in about that.  WHY OH WHY didnt they use a 
mechanism THAT IS DOCUMENTED IN INSIDE MACINTOSH for communicating with the
MDEF rather than using the hack of modifying the contents of resources at
runtime.

The mechanism I am referring to is the Application Defined Message.  Apple
explicitly states that messages above 128 are available for application use
and that the standard MDEF will ignore them.  If message 128 passed a handle
to the applications `floating-window-variables', and the MDEF knows not to
use it until it has been supplied, the hack of having the extra resource with
the same id as the MENU would not be required.

singer@endor.harvard.edu (Rich Siegel) (10/19/88)

In article <2580003@hpausla.HP.COM> jcl@hpausla.HP.COM (Jeff Laing) writes:

>What I think, quite frankly, stinks is that the manual which comes with it is
>loose leaf and requires a three ring binder.  The LSC manual I have is properly
>bound; I presume that 3.0 came with a binder ....

	In fact, the version 3 LightspeedC manual is bound. The Capps manual
was not bound for a number of reasons:

	1) Production costs are cut drastically, a savings that we canpass
on.

	2) The idea is that future products of this genre can likewise be
published with three-ring manuals, and the docs for all such products
can be kept in a three-ring binder in easy reach.

		--Rich



Rich Siegel
Staff Software Developer
THINK Technologies Division, Symantec Corp.
Internet: singer@endor.harvard.edu
UUCP: ..harvard!endor!singer
Phone: (617) 275-4800 x305

Any opinions stated in this article do not necessarily reflect the views
or policies of Symantec Corporation or its employees.

grh@rhi.hi.is (Gisli Runar Hjaltason) (10/26/88)

There has been some discussion here about how wonderful CAPPS' is. My problem
is that I use MPW (Pascal & C) but not LS but I need something like CAPPS'. Is
there any chance that the LS object files can be converted to MPW ones
(provided that Think... oops, Symantec allows it)? Or are there any similar
products that I could use. How high is the license for using CAPPS' in
commercial programs?
I'm working on a program that has an integrated editor. I have already
implemented TextEdit with tabs, but the text files can become much larger than
the 32K limit (although they are mostly small).

Thanks for any advice,
Gisli R. Hjaltason
University of Iceland
grh@rhi.hi.is

singer@endor.harvard.edu (Rich Siegel) (10/27/88)

In article <521@krafla.rhi.hi.is> grh@krafla.UUCP (Gisli Runar Hjaltason) writes:
>There has been some discussion here about how wonderful CAPPS' is. My problem
>is that I use MPW (Pascal & C) but not LS but I need something like CAPPS'. Is
>there any chance that the LS object files can be converted to MPW ones
>(provided that Think... oops, Symantec allows it)? Or are there any similar
>products that I could use. How high is the license for using CAPPS' in
>commercial programs?

	There's no way that the PE libraries can be converted for use in MPW.
Your best bet might be to mix MPW object files into your LightspeedC or
Lightspeed Pascal projects; this way you'll be able to use the PE libraries.
And who knows? You might be convinced to use LightspeedC or Lightspeed
Pascal for your compiling...

	There is no license fee for using PE or any other part of the Capps
package.

		--Rich


Rich Siegel
Staff Software Developer
THINK Technologies Division, Symantec Corp.
Internet: singer@endor.harvard.edu
UUCP: ..harvard!endor!singer
Phone: (617) 275-4800 x305

Any opinions stated in this article do not necessarily reflect the views
or policies of Symantec Corporation or its employees.

borton@uva.UUCP (Chris Borton) (10/27/88)

In article <521@krafla.rhi.hi.is> grh@krafla.UUCP (Gisli Runar Hjaltason) writes:
>There has been some discussion here about how wonderful CAPPS' is. My problem
>is that I use MPW (Pascal & C) but not LS but I need something like CAPPS'. Is
>there any chance that the LS object files can be converted to MPW ones
>(provided that Think... oops, Symantec allows it)? Or are there any similar
>products that I could use. How high is the license for using CAPPS' in
>commercial programs?

There was a discussion awhile ago about moving from LS to MPW code, and if I
remember correctly the conclusion was that it didn't go.  THINK does
provide a converter for MPW .o files, so it's a one way street.  This is
obviously in THINK's best interest to keep that way.

The 'license fee' for CAPPS' (in the manual at least)is the same as THINK C -- 
just a "Portions (c) THINK Technologies" notice along with yours.  What they
do for commercial programs I'm not sure--you'd have to call or write them.
(Rich, can you answer this?)

-cbb
-- 
Chris Borton	borton%uva@mcvax.{nl,bitnet,uucp} 
Rotary Scholar, University of Amsterdam CS

singer@endor.harvard.edu (Rich Siegel) (10/31/88)

In article <558@uva.UUCP> borton@uva.UUCP (Chris Borton) writes:
>just a "Portions (c) THINK Technologies" notice along with yours.  What they
>do for commercial programs I'm not sure--you'd have to call or write them.

	If you don't wish to affix the Symantec copyright notice to your
about-box, disk labels, and documentation, it's possible to obtain and
sign a waiver, that basically obligates you to defend the copyright of
our object code used in your program as well as the copyright of
the program itself. Pretty simple, yes? No charge, no strings attached...

		--Rich




Rich Siegel
Staff Software Developer
THINK Technologies Division, Symantec Corp.
Internet: singer@endor.harvard.edu
UUCP: ..harvard!endor!singer
Phone: (617) 275-4800 x305

Any opinions stated in this article do not necessarily reflect the views
or policies of Symantec Corporation or its employees.