[comp.sys.mac.programmer] Multiple window DA

newsuser@LTH.Se (LTH network news server) (02/02/89)

Hi!

I'm working on a multiwindow DA. How can multiple windows be handled 
in a DA in such a way InterMail does? 

According to IM I-141:

If the mouse button was pressed in the go-away region, SystemClick 
calls TrackGoAway to determine whether the mouse is still inside the
go-away region when the click is completed: If so, it tells the DA
TO CLOSE ITSELF;

In other words, if I close ONE of the opened windows the DA closes.
 
I'm working with LSC 3.01 and the "DA stuff" allowing me to use the
debugger during development. Any hint on DA:s are appreciated. 

Thanks...
-- 
Joakim Bengtson                      Internet: joakim_b@ldc.lu.se
Lund University Computing Center     Bitnet:   joakim_b@seldc52
Box 783                              Telefax:  +46 46 138225
S - 220 07 Lund  Sweden              Telex:    33533 LUNIVER S

tim@hoptoad.uucp (Tim Maroney) (02/05/89)

In article <1989Feb2.142610.24884@LTH.Se> joakim_b@tts.lth.se (Joakim
Bengtson) writes:
>I'm working on a multiwindow DA. How can multiple windows be handled 
>in a DA in such a way InterMail does? 
>
>According to IM I-141:
>
>If the mouse button was pressed in the go-away region, SystemClick 
>calls TrackGoAway to determine whether the mouse is still inside the
>go-away region when the click is completed: If so, it tells the DA
>TO CLOSE ITSELF;
>
>In other words, if I close ONE of the opened windows the DA closes.
 
It *tells* you to close, but you can tell it to sod off.  You do this
by returning closeErr in response to the close message.  This will
leave you opened.

>I'm working with LSC 3.01 and the "DA stuff" allowing me to use the
>debugger during development.

Doesn't work for me.  I spent two weeks converting an application to a
DA this way, and it worked perfectly in the fake debugger mode.  It
never could be made to work as a multi-segment DA, however.  Be very
careful.  I debug my DAs using MacsBug, and make them as DAs.
-- 
Tim Maroney, Consultant, Eclectic Software, sun!hoptoad!tim
"I see little divinity about them or you.  You talk to me of Christianity
 when you are in the act of hanging your enemies.  Was there ever such
 blasphemous nonsense!" - Shaw, "The Devil's Disciple"

lippin@wish-bone.berkeley.edu (The Apathist) (02/05/89)

Recently joakim_b@tts.lth.se (Joakim Bengtson) wrote:
>I'm working on a multiwindow DA. How can multiple windows be handled 
>in a DA in such a way InterMail does? 

My solution was to write a WDEF that looks like a normal window, but
leaves a hole where the close box is.  Then a close box control fits
in that spot, but FindWindow recognises it as part of the content
region, and so SystemClick doesn't close the whole desk accessory.

I have the source for this hack here if you want it.

					--Tom Lippincott
					  lippin@math.berkeley.edu

	"When subtlety fails us, we must make do with cream pies."
					--David Brin