Thanks for sharing all that code Scott! I found a whole section on the Apple Developers site about implementing the OS X spell checker but it's all Cocoa-based so I guess would need some sort of external to interface to. Pete Molly's Revenge <http://www.mollysrevenge.com>
On Thu, Oct 27, 2011 at 9:48 PM, Scott Morrow <sc...@elementarysoftware.com>wrote: > > On Oct 27, 2011, at 9:20 PM, Scott Morrow wrote: > > > > > Here is some code that might give you a start on rolling your own using > the RunRevPlanet spell checker. > > I forgot to include a frontscript for the right-click feature⦠which was > the whole point : ) > this frontscript "pops-up" a button named "PopUpMenu" which may contain > menu items > in the lower portion and spelling suggestions at the top. > > > > constant kMain = "ShortNameOfYourMainStack" > -------Front script > --the uSelectedChunk of stack kMain is used to track text selection > > on mouseDown tMouseButton -- POP-UP menu on right click > put the long name of the target into tTarget > if "field" <> (word 1 of tTarget) then > pass mouseDown > end if > put the mouseChunk into tMouseChunk > put the mouseText into tMouseText > > put the selectedChunk into tSelectedChunk > > > if tMouseButton is 3 then > > put (word 1 to 4 of tSelectedChunk) && "of" && tTarget into > tLongSelection > set the uSpellCheckSingleWord of btn "PopUpMenu" of stack kMain to > "false" > set the uMouseChunk of btn "PopUpMenu" of stack kMain to empty > > > if (tSelectedChunk is not empty) then --AND (word 1 of tTarget is > "field") then > set the uSelectedChunk of stack kMain to tLongSelection > -- spell check the word that the mouse is hovering over > -- offer suggestions if it is mispelled > > if ("rrpSpellCheck" is among the lines of the stacksInUse) AND (not > ((tMouseText is empty) OR (tMouseChunk is empty))) AND (not > rrpSpellValidWord(tMouseText)) then > put Trim(rrpSpellSuggestions(tMouseText, 3)) &CR&\ > "(-" &CR&\ > (the uMenuItems of btn "PopUpMenu" of stack kMain) into > tMenuConstruct > if line 1 of tMenuConstruct is empty then > put "No suggested spelling" into line 1 of tMenuConstruct > else > set the uSpellCheckSingleWord of btn "PopUpMenu" of stack > kMain to "true" > end if > set the text of btn "PopUpMenu" of stack kMain to tMenuConstruct > put ((word 1 to 4 of tMouseChunk) && "of" && tTarget) into > tLongMouseChunk > set the uMouseChunk of btn "PopUpMenu" of stack kMain to > tLongMouseChunk > -- store the textStyle of the word we are checking so that we > can insert a correction with the correct style > put the textStyle of tLongMouseChunk into tTextStyle > if tTextStyle is not empty then > do ("set the uSpellCheckSingleWordTextStyle of btn" &"E& > "PopUpMenu""E&& "of stack" &"E& kMain "E&& "to" && tTextStyle) > end if > else > -- normal field pop-up > set the text of btn "PopUpMenu" of stack kMain to the uMenuItems > of btn "PopUpMenu" of stack kMain > end if > -- else -- build a non text edit popUp menu > -- set the text of btn "PopUpMenu" of stack kMain to line 8 > to -1 of (the uMenuItems of btn "PopUpMenu" of stack kMain) > end if > > popUp btn "PopUpMenu" of stack kMain > else > pass mouseDown > end if > end mouseDown > > -Scott Morrow > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode