RE: MUI & OSX

2004-10-11 Thread Rob Wingate
Dean,

> Any help would be appreciated.

There are a few things of note in the MUI code you posted:

> on dotMUI me

The fact that 'dotMUI' from your MUI BIRTH & CALLBACK ROUTINES has 'me'
after the handler name indicates that this code may reside in a behavior or
parent script. To work properly, MUI callback handlers need to reside in
movie scripts.

> gMuiLoginProps.modal= FALSE

I can't really think of a situation where a 'login' dialog box should be
non-modal. You might avoid the problem altogether if gMuiLoginProps.modal =
TRUE, using Run() instead of WindowOperation().

> case( widgeName ) of
>   "Close MUI": WindowOperation (gMuiLoginObject, #hide)
> end case

If you're having trouble getting the button or closebox to cause the dialog
to vanish, replace the 2nd line with this:

gMuiLoginObject.WindowOperation(#hide)
gMuiLoginObject.Stop(FALSE)
gMuiLoginObject = VOID


You'd also want to trap the callback handler's #itemClicked event to store
whatever username the user enters.

Finally, and most importantly, for a login dialog, I'd suggest you use
BudAPI's baLogin() instead of MUI:

strUserName = baPrompt("Login to the VOTH Music Vault", "User Name", EMPTY,
0,-2,-2)

It accomplishes everything you're doing with MUI in a single line, plus its
4th 'flags' parameter makes it much more configurable.

HTH,
Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: MUI & OSX

2004-10-07 Thread Rob Wingate
> Can anyone confirm getting an MUI with a callback()
> handler working in projector mode on a Mac running
> OSX?

Daily.

> The MUI will appear but editText & buttons will not
> respond. I can only get Modal MUIs to work in
> authouring mode,

Post your dialog-creation and callback code, and I'll see if I can help.

Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: MUI Xtra - Halts Playback

2004-07-08 Thread Rob Wingate
Elia,

If your MUI dialog appears to be freezing Director, then probably:

1) you've set up the dialog to be modal, and
2) you didn't provide a proper way for the dialog to exit in its callback
handler.

Unlike so-called "Standard" dialog boxes, "General Purpose" MUI dialogs
require callback handlers to process user events that happen while they're
on screen.

Setting up a dialog as modal is normal, but you need to provide a callback
handler that handles the dialog's disposal. If you don't, you can try the
ESC key, but it may not work.

Post the Lingo you're using for the dialog, including the callback handler,
and we may be able to figure out the problem.

> I can't seem to findany multiple line settings for
> #editText. Is that so?

That is so.

See this article for background:
http://www.director-online.com/buildArticle.php?id=888

There are also some details on writing callback handlers here:
http://www.director-online.com/buildArticle.php?id=1100

HTH,
Rob W

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: Dot syntax for 'delete the last char of...'

2004-05-26 Thread Rob Wingate
> Try myString.char[myString.length].delete()

Or myString = myString.char[1..myString.length-1]

Rob
[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: Setting focus on a specific MUI widget

2004-05-19 Thread Rob Wingate
> Supertramp notwithstanding, I usually take the long
> way home.

Brings back memories. Now I'll be humming Supertramp songs.

> below is a MUI from a handler called showAbout() that
> I wrote for a separate projector that does indeed put
> that focus dotted line on a #pushbutton.

The distinction I'm making is that showAbout() isn't placing focus.
Regardless of whether a button is a #pushButton or a #defaultPushbutton, the
Xtra places focus on the first "focusable" item in the dialog's
windowItemList. Even if you changed the "Credits" button to
#defaultPushButton, "Confidentiality" would still have focus when the dialog
opens, until you tab around.

> I can't really figure out why it works on my
> showAbout() handler but not my editAnswerWarningNext
>() handler.

Because a #bitmap can have focus, even if that focus isn't visible.
editAnswerWarningNext() has an icon, which Mui considers a #bitmap, before
any button in its windowItemList. Lose the icon, or add it after the buttons
(which you can do in #pixel mode), and the button will get focus.

One additional thing: since you're using #dialogUnit, you don't need
#windowBegin and #windowEnd. showAbout() is evidence of that.

HTH,
Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Setting focus on a specific MUI widget

2004-05-18 Thread Rob Wingate
Michael,

> Am I missing some attribute somewhere?

No. You place focus onto a specific widget by hitting the TAB key until
focus arrives where you want it. IOW, you don't put focus on a specific
widget; the user does that.

Expecting a user to press the spacebar to "hit" your #defaultPushButton
seems odd -- that's the Enter key's job, and Mui supports it.

According to the Lingo you posted, you're doing a lot of work to produce
your dialog. MUI Xtra produces dialogs two different ways: using "Standard"
and "General Purpose" coding styles. And within the more complex "General
Purpose" style, #dialogUnit is IMHO the most unpredictable of its three
layout styles. You're using General Purpose coding style to produce a dialog
you could get from Standard style:

on editAnswerWarningNext()

  theProps = [:]
  theProps.addProp(#buttons, #YesNo)
  theProps.addProp(#message, "Your response to this Knowledge Check is
incomplete." &RETURN &RETURN &"Are you sure you want to skip it and move
ahead to the next screen?")
  theProps.addProp(#icon, #question)
  theProps.addProp(#title, "Editing Your Answer(s)")
  theProps.addProp(#movable, TRUE)

  gMui = new(xtra "Mui")
  if objectP( gMui ) then
-- Show the dlog & store user's choice
intResult = gMui.Alert( theProps )
-- Release the instance
gMui = 0
  else
-- No instance
intResult = 0
  end if

  return intResult
end


Note also that this doesn't require your editAnswerWarningNextDecision()
callback handler; it will return the user's choice. Or even simpler:


on editAnswerWarningNext()
  strMsg = "Your response to this Knowledge Check is incomplete." &RETURN
&RETURN &"Are you sure you want to skip it and move ahead to the next
screen?"
  return baMsgBox(strMsg, "Editing Your Answer(s)", "YesNo", "Question", 1)
end

That does all the same work for you.

See the first couple paragraphs of this article for more detail on Mui's two
usage styles:

http://www.director-online.com/buildArticle.php?id=888

HTH,
Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: unable to load movie playlist (on Mac OS X)

2004-04-08 Thread Rob Wingate
Search the Lingo-L and Direct-L archives on this one. The problem has been
around since D7. But there are some recent postings on it, at least one of
which was mine. It happens on Windows too.

http://www.mail-archive.com/[EMAIL PROTECTED]/
http://www.mcli.dist.maricopa.edu/director/digest/index.html

HTH
Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Javascript onSubmit() -> notify Lingo?

2004-03-29 Thread Rob Wingate
Michael, Valentin, & Tab,

Thanks for your responses. Valentin was right -- projector with embedded
browser, no Shockwave involved. The "onsubmit=document.title='_submit'" is
just what I was looking for.

Also, thanks Michael & Tab for reminding me about EvalScript. I'll probably
need it later in this project, but hadn't had the chance to use it for the
past few years.

Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Javascript onSubmit() -> notify Lingo?

2004-03-26 Thread Rob Wingate
Hi All,

I think I'm looking for a strategy on how to notify Lingo from a 
tag's 'onSubmit()' event.

Background:
I'm building HTML forms on the fly with Lingo, and sending them to an
Internet Explorer (Tabuleiro's WebXtra) sprite on the stage. Works
beautifully.

Then comes the Submit button. I could leave it alone and post the form data,
but I'd rather intercept it and process the data locally. I know I can use
 to stop the post, but I don't know how to
tell Lingo that Submit was clicked.

IOW, how can the Javascript function I assign to onSubmit notify Lingo?

I appreciate any leads--I'm in some new territory on this one.

Thanks,
Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Resource Hacker

2004-02-23 Thread Rob Wingate
> Some days ago Rob Wingate posted on the very same
> error msg:
> (RE:  Movie playlist, 19.02.04)

Yes, I posted in response to Kerry's post on the subject, and since that
time, I remembered that the error also appears after running MicroAngelo on
your projector.exe file. MicroAngelo is also a resource hacker.

FYI.
Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


RE: Movie playlist

2004-02-19 Thread Rob Wingate
Kerry,

> My client is reporting an error I can't reproduce.

One of our clients saw this error just last week. I researched it and found
it started appearing back in 2000. Back then, MACR's Jake Sapirstein said
they'd look into it, but evidently it's still around.

It apparently may also be caused by:

* a conflict with RAMDoubler on Mac
* user trying to run from a badly-replicated disc

Anyway, add the following lines to your MyProjectorName.ini (the Otto.ini
file):

[Movies]
Movie01=YourMainMovieName.dir

That will fix it.

HTH,
Rob

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


Re: Choose a question: MUI dialog units OR Lingo-L

2003-06-13 Thread Rob Wingate
Michael M. wrote:

> How do I figure out how to set the height and width of
> this widget so that it looks good/professional in
> #dialogUnit mode?

Your life will be simpler using #data or #pixel mode. Do you really have to
have the large/small fonts on Windows?

widget = oDialog.getItemPropList()
widget.type = #bitmap
widget.value = member("myDialogGraphic")
-- and if you're using #pixel mode
widget.height = member("myDialogGraphic").height
widget.width = member("myDialogGraphic").width
lsDialog.append( widget.duplicate() )


Rob Wingate

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email [EMAIL 
PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping 
with programming Lingo.  Thanks!]


3d morphs?

2002-10-08 Thread Rob Wingate

Is it possible to do a 3D morph with D8.5? For example, someone wants to
show a fat guy slowly transform into a thin guy in 3D, say by dragging a
slider. Can anyone point me to a URL that has info on this?

TIA,
Rob Wingate


[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for 
learning and helping with programming Lingo.  Thanks!]



Re: general purpose dialog box layout

2002-10-02 Thread Rob Wingate

> can I include a copyright symbol or a *TM*
> within the text of a dialog box?

Yes, just include it within a #label's value:

ipl = oDialog.GetItemPropList()
ipl.type = #label
ipl.value = "This link® will take you© to statefarm.com."

After a few dialogs in #pixel mode, I got bored with specifying locs for
each widget and settled on #data mode unless really necessary. That's why I
positioned the buttons on the right side of yesterday's dialog. But the way
you've done it is better; it's what you wanted in the first place, and if
you don't mind #pixel mode, it does allow far more control over placement.

Regards,
Rob W


[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for 
learning and helping with programming Lingo.  Thanks!]



Re: general purpose dialog box layout

2002-10-01 Thread Rob Wingate

Jim Skolmoski wrote:

> I would like to center the checkbox line, and
> center or flush right the connect/cancel buttons

How's this?

on ShowDialog()
  if not(objectP(goDialog)) then
goDialog = new(xtra "mui")
if not(objectP(goDialog)) then
  goDialog = void
  alert "ERROR: MUIXtra failure!"
  exit
end if
  end if

  myWindow = goDialog.getWindowPropList()
  myWindow.name = "Internet Connection Alert"
  myWindow.callback = "myDialogCallback"
  myWindow.mode = #data
  myWindow.xPosition = -1
  myWindow.yPosition = -1
  myWindow.closeBox = TRUE

  myDialog = []

  layouter = goDialog.getItemPropList()
  layouter.type = #windowBegin
  myDialog.append(layouter.duplicate())

  widget = goDialog.getItemPropList()
  widget.type = #groupHBegin
  myDialog.append( widget.duplicate() )

  widget = goDialog.getItemPropList()
  widget.type = #bitmap
  widget.attributes = [#bitmapIcon:#stop]
  myDialog.append( widget.duplicate() )

  layouter = goDialog.getItemPropList()
  layouter.type = #groupVBegin
  myDialog.append( layouter.duplicate() )

  widget = goDialog.getItemPropList()
  widget.type = #label
  widget.value = "This link will take you to foobar.com." & RETURN & "Do you
wish to connect at this time?"
  myDialog.append(widget.duplicate())

  widget = goDialog.getItemPropList()
  widget.type = #checkBox
  widget.value = FALSE
  widget.title = "Do not show this dialog again."
  myDialog.append(widget.duplicate())

  layouter = goDialog.getItemPropList()
  layouter.type = #groupVEnd
  myDialog.append( layouter.duplicate() )

  widget = goDialog.getItemPropList()
  widget.type = #dividerV
  myDialog.append(widget.duplicate())

  widget = goDialog.getItemPropList()
  widget.type = #groupVBegin
  myDialog.append( widget.duplicate() )

  widget = goDialog.getItemPropList()
  widget.type = #defaultPushButton
  widget.title = "Connect"
  myDialog.append(widget.duplicate())

  widget = goDialog.getItemPropList()
  widget.type = #pushButton
  widget.title = "Cancel"
  myDialog.append(widget.duplicate())

  widget = goDialog.getItemPropList()
  widget.type = #groupVend
  myDialog.append( widget.duplicate() )

  layouter = goDialog.getItemPropList()
  layouter.type = #windowEnd
  myDialog.append( layouter.duplicate() )

  goDialog.Initialize([ #windowPropList:myWindow, \
#windowItemList: myDialog])
  goDialog.Run()
end

Hope this helps,
Rob

/**
* Robert Wingate  *
* Visual Book Productions, Inc.   *
* mailto:[EMAIL PROTECTED] *
**/

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for 
learning and helping with programming Lingo.  Thanks!]