#!/bin/sh # MetaCard 2.4 stack # The following is not ASCII text, # so now would be a good time to q out of more exec mc $0 "$@" ! Table Fun! # U Lucida Grande U Lucida Grande cREVGeneral bookmarks debugObjects handlerList prevHandler tempScript script cREVGeometryCache stackID 6018 cREVTempMaster (windowManagerPlace falsemenubar linkHiliteColor cantAbort false maxWidth 65535rect 775,454,1175,854 patterns colors decorations defaulticonic falselinkVisitedColor cantDelete falseid 1002altId 0 hcAddressing falsestartUpIconic falsewindowShape 0title linkColor cantModify false textStyle maxHeight 65535underlineLinks style topleveldestroyWindow false password scroll 0passkey icon 0name Untitled 1 resizable true alwaysBuffer trueformatForPrinting falsevisible true minWidth 32 destroyStack false textSize textFont dynamicPaths false minHeight 32 P` on rawKeyDown k -- this is just some info about what is being tracked -- inside the cREVTable custom peroperty set send "showCustomSetValues" to me in 20 milliseconds -- two methods of keeping the user from going off the edge -- this approach uses two values in the cREVTable -- if inBounds(k) then pass rawKeyDown -- this approach uses 'the target' and makes sure you are in a table if inBoundsBetter(k) then pass rawKeyDown -- welcome to the bleeding edge end rawKeyDown on showCustomSetValues put fld"customPropertySet" into c repeat with x=1 to 24 put the cREVTable[line x of c] of fld"table" into line x of v end repeat put v into fld"customPropertySetValues" put the cREVTable["currentview"] of fld"table" into fld"currentview" put the cREVTable["formattedview"] of fld"table" into fld"formattedview" end showCustomSetValues function inBounds k if k<999 then return true -- all arrows and tab are big numbers if k=65421 then return false -- don't allow [enter] key put 3 into xLimit put 17 into yLimit -- doesn't check to see you were in a table if k=65363 or k=65289 then return (the cREVTable["currentxcell"] of fld"table" = xLimit) if k=65364 then return (the cREVTable["currentycell"] of fld"table" = yLimit) return true end inBounds function inBoundsBetter k if k<999 then return true -- all arrows and tab are big numbers if k=65421 then return false -- don't allow [enter] key put 3 into xLimit put 17 into yLimit get the target -- field "revCell-1,3" assumes a 1 table cd if ("field"&"e&"revCell-") is not char 1 to 15 of it then return true get char 16 to 30 of it delete last char of it if k=65363 or k=65289 then return (item 1 of it is not xLimit) if k=65364 then return (item 2 of it is not yLimit) return true end inBoundsBetter # cREVTable acell false cREVGeneral scriptChecksum " lUDɾ{& bookmarks handlerList 6rawKeyDown showCustomSetValues inBounds inBoundsBetterbreakPoints scriptSelection char 1721 to 1720prevHandler rawKeyDowntempScript script
on rawKeyDown k
-- this is just some info about what is being tracked
-- inside the cREVTable custom peroperty set
send "showCustomSetValues" to me in 20 milliseconds
-- two methods of keeping the user from going off the edge
-- this approach uses two values in the cREVTable
-- if inBounds(k) then pass rawKeyDown
-- this approach uses 'the target' and makes sure you are in a table
if inBoundsBetter(k) then pass rawKeyDown
-- welcome to the bleeding edge
end rawKeyDown
on showCustomSetValues
put fld"customPropertySet" into c
repeat with x=1 to 24
put the cREVTable[line x of c] of fld"table" into line x of v
end repeat
put v into fld"customPropertySetValues"
put the cREVTable["currentview"] of fld"table" into fld"currentview"
put the cREVTable["formattedview"] of fld"table" into fld"formattedview"
end showCustomSetValues
function inBounds k
if k<999 then return true -- all arrows and tab are big numbers
if k=65421 then return false -- don't allow [enter] key
put 3 into xLimit
put 17 into yLimit
-- doesn't check to see you were in a table
if k=65363 or k=65289 then return (the cREVTable["currentxcell"] of fld"table" = xLimit)
if k=65364 then return (the cREVTable["currentycell"] of fld"table" = yLimit)
return true
end inBounds
function inBoundsBetter k
if k<999 then return true -- all arrows and tab are big numbers
if k=65421 then return false -- don't allow [enter] key
put 3 into xLimit
put 17 into yLimit
get the target -- field "revCell-1,3" assumes a 1 table cd
if ("field"&"e&"revCell-") is not char 1 to 15 of it then return true
get char 16 to 30 of it
delete last char of it
if k=65363 or k=65289 then return (item 1 of it is not xLimit)
if k=65364 then return (item 2 of it is not yLimit)
return true
end inBoundsBetter
cREVGeometryCacheIDs 1057024997488 14281057009161999 10031057025044607 14301057012731619 11231057023798991 11751057083356269 2075 cREVGeometryCache total 6order c table )c .3x17 table - see note below on scroll problem K cREVTable formatcellline topcellloc 145formattedview u1A B C
2 f
3 dsge w
4 d e
5 ff g
6 a e
7 s 14
8 dd
9 ee
10 fss sss
11 d
12 23
13 sss d
14 asdfew d
15 ss d
16 s stop here
17 stop here botRight
leftcellloc 5currenthscroll 0currentxmouseloc 25currentcell 3,2bottomcellloc 166currentymouseloc 65scrollbarwidth 20 rightcellloc 80formatlist 1,1:3,17 Decimal:1 cellyspacing 14rightfieldloc 265tcell 3,2topfieldloc 4 cellxspacing 75 leftfieldloc 2formatlistnumber formatvalueline currentview u
1A B C
2 f
3 dsge w
4 d e
5 ff g
6 a e
7 s 14
8 dd
9 ee
10 fss sss
11 d
12 23
13 sss d
14 asdfew d
15 ss d
16 s stop here
17 stop here botRight
currentvscroll 0 viewablerows 21 currentxcell 1 currentycell 11viewablecolumns 4currentcellvalue
11
cellformat truenumbertabstops 1formattypeline celledit truebottomfieldloc 282 cREVGeneral table truescriptChecksum ُ B~handlerList scriptSelection char 1 to 0revUniqueID 1057009161999 bookmarks tempScript prevHandler CellSelectionChangedscript 1A B C 2 f 3 dsge w 4 d e 5 ff g 6 a e 7 s 14 8 dd 9 ee 10 fss sss 11 d 12 23 13 sss d 14 asdfew d 15 ss d 16 s stop here 17 stop here botRight c customPropertySet )` cREVGeneral revUniqueID 1057012731619 bottomCellLoc bottomFieldLoc cellEdit cellXspacing cellYspacing currentCell currentCellValue currentHscroll currentVscroll currentXcell currentXmouseLoc currentYcell currentYmouseLoc leftCellLoc leftFieldLoc numberTabStops rightCellLoc rightFieldLoc scrollBarWidth tCell topCellLoc topFieldLoc viewableColumns viewableRows currentView formattedView customPropertySetValues )` .` cREVGeneral revUniqueID 1057023798991 166 282 true 75 14 3,211