Creating Context Menus For Selected Text in a Field
Mac OS 9 Mac OS X Windows Windows

> I have an unlocked, editable field with text. I
> select a portion of the text, then option click on it
> for a popup that has a few options
> to select from to do something to the text, like
> uppercase, lowercase, etc.
> This changing works with a button and an option menu
> combo, but not in a contextual button. Any activity on
> the field kills the selection.
> Attempting this always loses the selection, then
> there's nothing to change, and all attempts to save
> the selection range description to a global still don't
> seem to work.
> I'm sure there's a dance of locking and unlocking to
> get this to work, but I haven't found it yet... any
> ideas...?..

The following trick works on both Win and Mac: set the traversalOn of the popup menu button to false, and the selectedChunk will remain the same -- I used this sort of construct in one project:
## field script
on mouseDown pButton
  if pButton = 3 then popup button "FieldMenu"
end mouseDown

## popup button script
on menuPick pItem
  switch pItem
  case "cut"
  case "copy"
  case "paste"
    if the clipboard is "text" then paste else beep
  case "clear"
  end switch
end menuPick
## And this works remarkably well...

Posted on 2/21/05 by Jan Schenkel the Use Revolution list