How To Ensure Only Plain Text Editing Is Allowed In Field

Cubist at aol.com Cubist at aol.com
Fri May 12 15:07:09 EDT 2006


>Ivan Wong wrote...
> Is there any easy way (beyond trapping and disabling unwanted keystrokes),
> to allow users to only edit in plain text, and keep editing to a single 
line 
> in text fields.
   This doesn't strike me as all *that* difficult to pull off; the following 
code should work, or at least provide a pointer to the true solution. Watch 
out for extra-long lines here...

local TimeDelay = .2
local MaxFieldLength = 30

on openField
  set the PlainOnly of me to true
  send "KeepItSimpleStupid" to me in TimeDelay seconds
end openField

on closeField
  set the PlainOnly of me to false
end closeField

on exitField
  set the PlainOnly of me to false
end exitField

on KeepItSimpleStupid
  put the selectedChunk into Fred
  
  if (the length of me > MaxFieldLength) then put char 1 to MaxFieldLength of 
me into me
  if (the textStyle of char 1 to -1 of me <> "plain") then put me into me
  if (the textColor of char 1 to -1 of me <> "black") then set the textColor 
of char 1 to -1 of me to "black"
  
  if (the selectedChunk <> Fred) then select Fred
  
  if (the PlainOnly of me) then send "KeepItSimpleStupid" to me in TimeDelay 
seconds
end KeepItSimpleStupid

   The local variable TimeDelay controls how often the KeepItSimpleStupid 
handler will fire; the value i used here, .2, means KeepItSimpleStupid will run 
five times a second. Adjust TimeDelay up or down if you want a different number 
of times per second.
   The local variable MaxFieldLength controls how long the field *can* be. 
Any time the field gets longer than MaxFieldLength, the 'excess' characters are 
summarily deleted in KeepItSimpleStupid.

   Hope this helps...



More information about the use-livecode mailing list