[comp.sys.mac.programmer] Pop-up menu CDEF

hpoppe@ncar.ucar.edu (Herb Poppe) (03/09/91)

> I've written a CDEF that implements the (latest) Apple Standard popup 
menu
> interface (with the little arrow and everything).  It appeared to work
> correctly, at least in my test program that I use for developing 
defProcs.
> Now I'm trying to use this CDEF in one of my projects.  I want to put a
> popup menu of file formats in the SFGetFile dialog box (see MacWrite II's
> "Open" box).

Perhaps I can help you, albeit indirectly. 

I noticed that there are two new CDEF's (62 and 63) in the System File in 
System 6.0.7. I wonder if these are Apple's official pop-up menu CDEF's. 
If so, all you (and I) need is for someone to tell us how to use them. I 
didn't see anything in the Tech Notes Stack 3.4.1.

Anyone?

I know, I know, you still want to know why you code doesn't work.

Herb Poppe             hpoppe@ncar.ucar.edu
NCAR                      (303) 497-1296
1850 Table Mesa Dr.
Boulder, CO  80307-3000

han@Apple.COM (Byron Han) (03/22/91)

In article <10525@ncar.ucar.edu> hpoppe@ncar.ucar.edu (Herb Poppe) writes:
>I noticed that there are two new CDEF's (62 and 63) in the System File in 
>System 6.0.7. I wonder if these are Apple's official pop-up menu CDEF's. 
>If so, all you (and I) need is for someone to tell us how to use them. I 
>didn't see anything in the Tech Notes Stack 3.4.1.
>
If you have CDEF 63, you have previously installed the CommToolbox.
This CDEF (actually an enhanced version) is included with
System 7.0 since CommToolbox is integrated into the system.

CDEF 62 is a different control.  I'm not sure what it does.
-- 
Byron Han, CommToolbox Emir       Changing the world, one connection at a time
Apple Computer, Inc.              --------------------------------------------
20525 Mariani Ave, MS: 35CP       Internet: han@apple.COM
Cupertino, CA 95014               UUCP:{sun,voder,nsc,decwrl}!apple!han
ATTnet: 408-974-6450              Applelink:HAN1   HAN1@applelink.apple.COM

norman@d.cs.okstate.edu (Norman Graham) (03/22/91)

In article <10525@ncar.ucar.edu> hpoppe@ncar.ucar.edu (Herb Poppe) writes:
[ Herb wonders if the CDEFs 62 and 63 he found in his system (6.0.7) are
  Apple's official pop-up menu CDEFs.]

From article <50593@apple.Apple.COM>, by han@Apple.COM (Byron Han):
[ Byron (aka CommToolbox Emir) doesn't know what CDEF 62 is, but he
  confirms that CDEF 63 is the popup menu CDEF from the CommToolbox.
  An enhanced version of this CDEF is included in System 7.0.]

Now for my questions:

  1) What is the procedure for getting permission to distribute CDEF 63
     in applications that run in pre-System 7.0, CommToolbox-less
     environments?

  2) How do you use the thing after you get permission to include it
     in your application? I couldn't find the info in IM 6 and I don't 
     have the CommToolbox docs.

  3) Should you get the CDEF from the CommToolbox or from System 7.0b4?
     If from System 7.0b4, is it still CDEF 63?


-- 
Norman Graham

<norman@a.cs.okstate.edu>                 Standard Disclaimer Applies
{cbosgd,rutgers}!okstate!norman

dorner@pequod.cso.uiuc.edu (Steve Dorner) (03/22/91)

norman@d.cs.okstate.edu (Norman Graham) writes:
>  1) What is the procedure for getting permission to distribute CDEF 63
>     in applications that run in pre-System 7.0, CommToolbox-less
>     environments?

I have a license to redistribute the Comm Toolbox; that ought to cover it.
It was only a token fee; about $50, as I recall.

>     in your application? I couldn't find the info in IM 6 and I don't 
>     have the CommToolbox docs.

You should probably get them; you'll want them eventually.  Not that they
are complete or anything :-).

>  3) Should you get the CDEF from the CommToolbox or from System 7.0b4?
>     If from System 7.0b4, is it still CDEF 63?

Yep, same id in both.  Different behavior, though.  You'll mangle system
7 popups (at least in standard file) if you include the CommToolbox CDEF
in your App.  [Or so reports one Eudora/system 7 user.]  Of course, if you
leave it out, you're high and dry for non-CTB system 6.

I guess you'd be better off using a different id; I'm still mulling the
issue for Eudora.  (Which can use, but does not require, the CTB, but does
use the popup CDEF.)

Will the System7 CDEF 63 ever make it into System 6?  It would be nice.
(No, wait, what am I saying?  Some Microsoft product would probably break...)
--
Steve Dorner, U of Illinois Computing Services Office
Internet: s-dorner@uiuc.edu  UUCP: uunet!uiucuxc!uiuc.edu!s-dorner

han@Apple.COM (Byron Han) (03/25/91)

In article <1991Mar22.002149.6359@d.cs.okstate.edu> norman@d.cs.okstate.edu (Norman Graham) writes:
>
>  2) How do you use the thing after you get permission to include it
>     in your application? I couldn't find the info in IM 6 and I don't 
>     have the CommToolbox docs.

It should be in the compatibility chapter.

>
>  3) Should you get the CDEF from the CommToolbox or from System 7.0b4?
>     If from System 7.0b4, is it still CDEF 63?
>
>
The problem is that CDEF 63 in system 7.0 requires modifications to the
standard MDEF to properly do things.  

Including CDEF 63 from CommToolbox 1.0 in your application is possibly a
violation of the license agreement.  But more importantly, if you include
the popup in your application you cannot use the 7.0 versioin of the popup
and as Steve says it will hose up standard file under 7.0 (which now
uses the popup cdef)

I'm not sure what the right solution is going to be.  I've tried to
get the CommToolbox 1.0 version of CDEF 63 into system 6.0.x to no
avail.  Suggestions anyone?

>-- 
>Norman Graham
>
><norman@a.cs.okstate.edu>                 Standard Disclaimer Applies
>{cbosgd,rutgers}!okstate!norman


-- 
Byron Han, CommToolbox Emir       Changing the world, one connection at a time
Apple Computer, Inc.              --------------------------------------------
20525 Mariani Ave, MS: 35CP       Internet: han@apple.COM
Cupertino, CA 95014               UUCP:{sun,voder,nsc,decwrl}!apple!han
ATTnet: 408-974-6450              Applelink:HAN1   HAN1@applelink.apple.COM

lim@iris.ucdavis.edu (Lloyd Lim) (03/25/91)

In article <50729@apple.Apple.COM> han@Apple.COM (Byron Han) writes:
>In article <1991Mar22.002149.6359@d.cs.okstate.edu> norman@d.cs.okstate.edu (Norman Graham) writes:
>>  3) Should you get the CDEF from the CommToolbox or from System 7.0b4?
>>     If from System 7.0b4, is it still CDEF 63?
>>
>The problem is that CDEF 63 in system 7.0 requires modifications to the
>standard MDEF to properly do things.  
>
>Including CDEF 63 from CommToolbox 1.0 in your application is possibly a
>violation of the license agreement.  But more importantly, if you include
>the popup in your application you cannot use the 7.0 versioin of the popup
>and as Steve says it will hose up standard file under 7.0 (which now
>uses the popup cdef)
>
>I'm not sure what the right solution is going to be.  I've tried to
>get the CommToolbox 1.0 version of CDEF 63 into system 6.0.x to no
>avail.  Suggestions anyone?

How about letting the Human Interface Group freely distribute the CommToolbox
CDEF 63 for use only in System 6.0.x?  They already do that for the Movable
Modal WDEF.  As they suggest, I use the WDEF specifically for System 6.0.x
and the real WDEF in System 7.0.  It'd be great to be able do the same for
popups since it will be built into 7.0.

BTW, I haven't actually seen either the CommToolbox or 7.0 popups but my
impression is that CommToolbox popups don't have those down arrows while the
7.0 ones do.  If true, this inconsistency might make it hard to do what I
suggest above.

Popups have got to be the most non-conforming item in existence.  I can
honestly say I have NEVER seen a popup that behaves well and conforms
reasonably to the current HIN.  (I sure hope 7.0 is better.)

+++
Lloyd Lim     Internet: lim@iris.eecs.ucdavis.edu
              America Online: LimUnltd
              Compuserve: 72647,660
              US Mail: 215 Lysle Leach Hall, U.C. Davis, Davis, CA 95616

jcav@quads.uchicago.edu (john cavallino) (03/25/91)

In article <8665@ucdavis.ucdavis.edu> lim@iris.ucdavis.edu (Lloyd Lim) writes:
>BTW, I haven't actually seen either the CommToolbox or 7.0 popups but my
>impression is that CommToolbox popups don't have those down arrows while the
>7.0 ones do.  If true, this inconsistency might make it hard to do what I
>suggest above.
>
>Popups have got to be the most non-conforming item in existence.  I can
>honestly say I have NEVER seen a popup that behaves well and conforms
>reasonably to the current HIN.  (I sure hope 7.0 is better.)

I've written a popup menu CDEF that conforms to the newest Human Interface
Guidelines (the little arrow and everything).  It also handles non-standard
MDEFs correctly.  It does NOT check if the system script has a right-to-left
text direction.  Is anybody interested?
I suppose I could also post source (Pascal and and a teeny bit of assembly
language).

-- 
John Cavallino                      |     EMail: jcav@midway.uchicago.edu
University of Chicago Hospitals     |    USMail: 5841 S. Maryland Ave, Box 145
Office of Facilities Management     |            Chicago, IL  60637
"Opinions, my boy. Just opinions"   | Telephone: 312-702-6900

norman@d.cs.okstate.edu (Norman Graham) (03/26/91)

From article <50729@apple.Apple.COM>, by han@Apple.COM (Byron Han):
> I'm not sure what the right solution is going to be.  I've tried to
> get the CommToolbox 1.0 version of CDEF 63 into system 6.0.x to no
> avail.  Suggestions anyone?

You might try asking the people responsible for the LaserWriter Driver.
I noticed the release notes for LW 7.0b12 claim that it is now
using the CommToolbox's popup CDEF in the page setup dialog. I assume 
that it cannot use the system 7.0 popup because the driver must run
on a system 6.x machine.

If you get an answer from them, please pass it on.
-- 
Norman Graham

<norman@a.cs.okstate.edu>                 Standard Disclaimer Applies
{cbosgd,rutgers}!okstate!norman