[Date Prev][Date Next] [Thread Prev][Thread Next]
[Date Index] [Thread Index] [New search]

Getting past modal dialogs?




Yup, I get to ask one of the hard questions. :-)

I'm trying to come up with a way to get around the "insert only one
child element" restriction in the EDD. The recent discussion about
ConfigUI inspired me to try that route, and it works... up to a point.

What I'd like to do is to insert a "task" element, which auto-inserts
a label element. That's easy enough. For my next trick, I'd like to
wedge some text into the label, then move over and insert p and step
elements (also with text). Theoretically, this should do it:

                 Insert elements   Text to insert     Move right
  <Command AddTask
      <Label Add New Task>
      <Definition \xF48 task \xD   Task \x20 Title    \x103
                  \xF48 p \xD      Stem \x20 Sentence \x103
                  \xF48 step \xD   First \x20 action>
      <Mode All>>

  <Add TestDlg   <Menu ElementMenu>>

It actually works, as long as you don't have any attributes in the
task element (or turn off attribute prompting in the New Element
Options dialog).  Otherwise, it stops in the New Attribute dialog &
puts the rest of the text in the value field.

To me, the obvious workaround was to just zap the dialog box since
it would be a pain to turn off attribute prompting in each FM+SGML
file. Looking through MacCommands, I find:

  <Command ItemNextLogical
    <Label Next Item in Dialog>
    <Definition \xD61>
    <Mode All>>

  <Command ItemSelect
    <Label Select Item>
    <Definition \xD69>
    <Mode All>>

Aha, says I, I can just walk across the buttons and hit Insert
Element. As a test, I tried just inserting the element and
closing the dialog box:

  <Command AddTask
      <Label Add New Task>
      <Definition \xF48 task \xD \xD61 \xD61 \xD61 \xD69>
      <Mode All>>

Hey! It worked! I gleefully filled in the rest:

      <Definition \xF48 task \xD \xD61 \xD61 \xD61 \xD69 Title \x103
                  \xF48 p \xD Stem \x20 Sentence \x103
                  \xF48 step \xD First \x20 action>

...and it stopped at the dialog box again.  RATS.

Trying different things, I learned that once you get to ItemSelect
you're pretty well finished. If you follow it up with text (that
should go into the label element), the text is ignored. If you follow
up with more fcodes, Frame ignores ItemSelect and everything following.
The Focus in Document code (\x620) didn't help, either. Is there
anything else I can try?

I could do this with an AppleScript, but it's primarily for the benefit
of my co-workers (who are on Windows). The budget is beyond tight right
now, so buying FrameScript or even a bottle of aspirin (let alone buying
CodeWarrior for using the FDK) is out of the question.

Any help would be greatly appreciated....

	Larry



** To unsubscribe, send a message to majordomo@omsys.com **
** with "unsubscribe framers" (no quotes) in the body.   **