/* ----------------------------------------------------------------------------- This source file is part of OpenSpace3D For the latest info, see http://www.openspace3d.com Copyright (c) 2012 I-maginer This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, or go to http://www.gnu.org/copyleft/lesser.txt ----------------------------------------------------------------------------- */ fun cbCloseEdit(p)= let p -> [ctrlinit ctrlobjlhand ctrlobjrhand ctrlobjltool ctrlobjrtool ctrlhidelhand ctrlhiderhand ctrlhideltool ctrlhidertool ctrlobjref ctrlyoffset ctrlzoffset ctrlxmul ctrlymul ctrlzmul ctrlfingers ctrlmirror ctrltopview ctrlgrab ctrlspace lfingers rfingers] in let getEdCtrlCheckState ctrlinit -> init in let getEdCtrlTextLineValue ctrlobjlhand -> objlname in let getEdCtrlCheckState ctrlhidelhand -> objlhide in let getEdCtrlTextLineValue ctrlobjrhand -> objrname in let getEdCtrlCheckState ctrlhiderhand -> objrhide in let getEdCtrlTextLineValue ctrlobjltool -> objtlname in let getEdCtrlCheckState ctrlhideltool -> objtlhide in let getEdCtrlTextLineValue ctrlobjrtool -> objtrname in let getEdCtrlCheckState ctrlhidertool -> objtrhide in let getEdCtrlTextLineValue ctrlobjref -> objref in let getEdCtrlFloatValue ctrlyoffset -> yoffset in let getEdCtrlFloatValue ctrlzoffset -> zoffset in let getEdCtrlFloatValue ctrlxmul -> xmul in let getEdCtrlFloatValue ctrlymul -> ymul in let getEdCtrlFloatValue ctrlzmul -> zmul in let getEdCtrlCheckState ctrlfingers -> fingers in let getEdCtrlCheckState ctrlmirror -> mirrorx in let getEdCtrlCheckState ctrltopview -> topview in let getEdCtrlCheckState ctrlgrab -> grab in let getSelectedEdCtrlSelectPos ctrlspace -> imode in let lfingers -> [ctrlobjlthumb ctrlobjlindex ctrlobjlmiddle ctrlobjlring ctrlobjlpinky] in let getEdCtrlTextLineValue ctrlobjlthumb -> objlthumbname in let getEdCtrlTextLineValue ctrlobjlindex -> objlindexname in let getEdCtrlTextLineValue ctrlobjlmiddle -> objlmiddlename in let getEdCtrlTextLineValue ctrlobjlring -> objlringname in let getEdCtrlTextLineValue ctrlobjlpinky -> objlpinkyname in let rfingers -> [ctrlobjrthumb ctrlobjrindex ctrlobjrmiddle ctrlobjrring ctrlobjrpinky] in let getEdCtrlTextLineValue ctrlobjrthumb -> objrthumbname in let getEdCtrlTextLineValue ctrlobjrindex -> objrindexname in let getEdCtrlTextLineValue ctrlobjrmiddle -> objrmiddlename in let getEdCtrlTextLineValue ctrlobjrring -> objrringname in let getEdCtrlTextLineValue ctrlobjrpinky -> objrpinkyname in ["firstHand" objlname]:: ["secondHand" objrname]:: ["firstTool" objtlname]:: ["secondTool" objtrname]:: ["firstHandAutoHide" itoa objlhide]:: ["secondHandAutoHide" itoa objrhide]:: ["firstToolAutoHide" itoa objtlhide]:: ["secondToolAutoHide" itoa objtrhide]:: ["objRef" objref]:: ["yoffset" ftoa yoffset]:: ["zoffset" ftoa zoffset]:: ["scaleX" ftoa xmul]:: ["scaleY" ftoa ymul]:: ["scaleZ" ftoa zmul]:: ["fingers" itoa fingers]:: ["mirrorx" itoa mirrorx]:: ["topview" itoa topview]:: ["grab" itoa grab]:: ["imode" itoa imode]:: ["lThumb" objlthumbname]:: ["lIndex" objlindexname]:: ["lMiddle" objlmiddlename]:: ["lRing" objlringname]:: ["lPinky" objlpinkyname]:: ["rThumb" objrthumbname]:: ["rIndex" objrindexname]:: ["rMiddle" objrmiddlename]:: ["rRing" objrringname]:: ["rPinky" objrpinkyname]:: ["init" itoa init]:: nil;; fun cbSelectObj(val, type, p)= let p -> [inst winstr viewstr ctrlobjname] in let V3DgetDefaultSession viewstr -> sessionstr in let SO3SceneGetObject (V3DgetSession sessionstr) val -> obj in if (obj != nil) || (!strcmpi "Current camera" val) || (!strcmpi "Current camera shell" val) then ( setEdCtrlTextLineValue ctrlobjname val; ) else nil; 0;; fun cbCloseRes(ctrlbtn)= setEdCtrlButtonEnable ctrlbtn 1; 0;; fun cbBtnPickObj(ctrlbtn, p)= let p -> [inst winstr viewstr ctrlobjname objname] in ( setEdCtrlButtonEnable ctrlbtn 0; dlgSelectPluginInstanceResource inst winstr iTypeEntity|iTypeNode|iTypeLight|iTypeCamera|iTypeParticle|iTypeBone|iTypeCubeMap objname mkfun3 @cbSelectObj [inst winstr viewstr ctrlobjname] mkfun1 @cbCloseRes ctrlbtn 0; ); 0;; fun cbRefreshBtn(pickbtn, p)= let p -> [ctrlobjname] in setEdCtrlTextLineValue ctrlobjname ""; 0;; fun cbSelSpace(ctrl, pos, elem, btn)= setEdCtrlButtonEnable btn if (pos == 3) then 1 else 0; 0;; fun dynamicedit(ewinstr, inst, viewstr, applybtn)= let [450 830] -> [iw ih] in let 10 -> ypos in ( setEdWindowSize ewinstr iw ih; let (getPluginInstanceParam inst "firstHand") -> objlname in let (getPluginInstanceParam inst "secondHand") -> objrname in let (getPluginInstanceParam inst "firstTool") -> objtlname in let (getPluginInstanceParam inst "secondTool") -> objtrname in let atoi (getPluginInstanceParam inst "firstHandAutoHide") -> objlhide in let atoi (getPluginInstanceParam inst "secondHandAutoHide") -> objrhide in let atoi (getPluginInstanceParam inst "firstToolAutoHide") -> objtlhide in let atoi (getPluginInstanceParam inst "secondToolAutoHide") -> objtrhide in let if objlhide == nil then 1 else objlhide -> objlhide in let if objrhide == nil then 1 else objrhide -> objrhide in let if objtlhide == nil then 1 else objtlhide -> objtlhide in let if objtrhide == nil then 1 else objtrhide -> objtrhide in let (getPluginInstanceParam inst "objRef") -> objref in let (getPluginInstanceParam inst "lThumb") -> objtlthumbname in let (getPluginInstanceParam inst "lIndex") -> objtlindexname in let (getPluginInstanceParam inst "lMiddle") -> objtlmiddlename in let (getPluginInstanceParam inst "lRing") -> objtlringname in let (getPluginInstanceParam inst "lPinky") -> objtlpinkyname in let (getPluginInstanceParam inst "rThumb") -> objtrthumbname in let (getPluginInstanceParam inst "rIndex") -> objtrindexname in let (getPluginInstanceParam inst "rMiddle") -> objtrmiddlename in let (getPluginInstanceParam inst "rRing") -> objtrringname in let (getPluginInstanceParam inst "rPinky") -> objtrpinkyname in let atof(getPluginInstanceParam inst "yoffset") -> yoffset in let if yoffset == nil then (-.0.20) else yoffset -> yoffset in let atof(getPluginInstanceParam inst "zoffset") -> zoffset in let if zoffset == nil then (-.0.20) else zoffset -> zoffset in let atof (getPluginInstanceParam inst "scaleX") -> ax in let atof (getPluginInstanceParam inst "scaleY") -> ay in let atof (getPluginInstanceParam inst "scaleZ") -> az in let if ax == nil then 1.0 else ax -> ax in let if ay == nil then 1.0 else ay -> ay in let if az == nil then 1.0 else az -> az in let atoi(getPluginInstanceParam inst "imode") -> imode in let if imode == nil then 1 else imode -> imode in let atoi(getPluginInstanceParam inst "fingers") -> fingers in let if fingers == nil then 1 else fingers -> fingers in let atoi(getPluginInstanceParam inst "mirrorx") -> mirrorx in let if mirrorx == nil then 0 else mirrorx -> mirrorx in let atoi(getPluginInstanceParam inst "grab") -> grab in let if grab == nil then 0 else grab -> grab in let atoi(getPluginInstanceParam inst "topview") -> topview in let if topview == nil then 0 else topview -> topview in let atoi(getPluginInstanceParam inst "init") -> init in let if init == nil then 1 else init -> init in let crEdFrameWindow _channel ewinstr 0 0 iw 235 EDWIN_RESIZE_MW nil (loc "OS3DLEAPMOTION_0022") (loc "OS3DLEAPMOTION_0019") -> winfrm in let crEdWindow _channel winfrm 0 18 iw 205 WN_CHILDINSIDE|WN_NOBORDER EDWIN_RESIZE_MW nil nil -> winstr in let crEdCtrlLabel winstr 10 ((set ypos = 10) + 2) 160 20 (loc "OS3DLEAPMOTION_0016") nil -> labelleft in let crEdCtrlTextLine winstr 180 ypos 140 20 objlname nil EDWIN_RESIZE_MW -> ctrlobjlhand in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picklbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjlname in let crEdCtrlCheck winstr 180 (set ypos = ypos + 25) 180 20 (loc "OS3DLEAPMOTION_0001") EDWIN_RESIZE_MW -> ctrlhidelhand in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0026") nil -> labelright in let crEdCtrlTextLine winstr 180 ypos 140 20 objrname nil EDWIN_RESIZE_MW -> ctrlobjrhand in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> pickrbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjrname in let crEdCtrlCheck winstr 180 (set ypos = ypos + 25) 180 20 (loc "OS3DLEAPMOTION_0003") EDWIN_RESIZE_MW -> ctrlhiderhand in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0017") nil -> labeltleft in let crEdCtrlTextLine winstr 180 ypos 140 20 objtlname nil EDWIN_RESIZE_MW -> ctrlobjltool in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktlbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtlname in let crEdCtrlCheck winstr 180 (set ypos = ypos + 25) 180 20 (loc "OS3DLEAPMOTION_0002") EDWIN_RESIZE_MW -> ctrlhideltool in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0027") nil -> labeltright in let crEdCtrlTextLine winstr 180 ypos 140 20 objtrname nil EDWIN_RESIZE_MW -> ctrlobjrtool in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktrbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtrname in let crEdCtrlCheck winstr 180 (set ypos = ypos + 25) 180 20 (loc "OS3DLEAPMOTION_0004") EDWIN_RESIZE_MW -> ctrlhidertool in let crEdFrameWindow _channel ewinstr 0 0 iw 370 EDWIN_RESIZE_MW nil (loc "OS3DLEAPMOTION_0010") (loc "OS3DLEAPMOTION_0019") -> winfrm in let crEdWindow _channel winfrm 0 18 iw 340 WN_CHILDINSIDE|WN_NOBORDER EDWIN_RESIZE_MW nil nil -> winstr in let crEdCtrlCheck winstr 10 (set ypos = 10) 280 20 (loc "OS3DLEAPMOTION_0031") EDWIN_RESIZE_MW -> ctrlfingers in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 30) + 2) 160 20 (loc "OS3DLEAPMOTION_0015") nil -> label1sthand in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0029") nil -> labelthumb in let crEdCtrlTextLine winstr 180 ypos 140 20 objtlthumbname nil EDWIN_RESIZE_MW -> ctrlobjlthumb in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktlthumbbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtlthumbname in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0014") nil -> labelindex in let crEdCtrlTextLine winstr 180 ypos 140 20 objtlindexname nil EDWIN_RESIZE_MW -> ctrlobjlindex in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktlindexbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtlindexname in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0018") nil -> labelmiddle in let crEdCtrlTextLine winstr 180 ypos 140 20 objtlmiddlename nil EDWIN_RESIZE_MW -> ctrlobjlmiddle in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktlmiddlebtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtlmiddlename in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0028") nil -> labelring in let crEdCtrlTextLine winstr 180 ypos 140 20 objtlringname nil EDWIN_RESIZE_MW -> ctrlobjlring in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktlringbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtlringname in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0024") nil -> labelpinky in let crEdCtrlTextLine winstr 180 ypos 140 20 objtlpinkyname nil EDWIN_RESIZE_MW -> ctrlobjlpinky in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktlpinkybtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtlpinkyname in let [ctrlobjlthumb ctrlobjlindex ctrlobjlmiddle ctrlobjlring ctrlobjlpinky] -> lfingers in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 30) + 2) 160 20 (loc "OS3DLEAPMOTION_0025") nil -> label2ndhand in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0029") nil -> labelthumb in let crEdCtrlTextLine winstr 180 ypos 140 20 objtrthumbname nil EDWIN_RESIZE_MW -> ctrlobjrthumb in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktrthumbbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtrthumbname in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0014") nil -> labelindex in let crEdCtrlTextLine winstr 180 ypos 140 20 objtrindexname nil EDWIN_RESIZE_MW -> ctrlobjrindex in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktrindexbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtrindexname in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0018") nil -> labelmiddle in let crEdCtrlTextLine winstr 180 ypos 140 20 objtrmiddlename nil EDWIN_RESIZE_MW -> ctrlobjrmiddle in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktrmiddlebtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtrmiddlename in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0028") nil -> labelring in let crEdCtrlTextLine winstr 180 ypos 140 20 objtrringname nil EDWIN_RESIZE_MW -> ctrlobjrring in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktrringbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtrringname in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0024") nil -> labelpinky in let crEdCtrlTextLine winstr 180 ypos 140 20 objtrpinkyname nil EDWIN_RESIZE_MW -> ctrlobjrpinky in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> picktrpinkybtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjtrpinkyname in let [ctrlobjrthumb ctrlobjrindex ctrlobjrmiddle ctrlobjrring ctrlobjrpinky] -> rfingers in let crEdFrameWindow _channel ewinstr 0 0 iw 230 EDWIN_RESIZE_MW nil (loc "OS3DLEAPMOTION_0021") (loc "OS3DLEAPMOTION_0019") -> winfrm in let crEdWindow _channel winfrm 0 18 iw 210 WN_CHILDINSIDE|WN_NOBORDER EDWIN_RESIZE_MW nil nil -> winstr in let crEdCtrlLabel winstr 10 ((set ypos = 10) + 2) 160 20 (loc "OS3DLEAPMOTION_0012") nil -> labelcspace in let crEdCtrlSelect winstr 180 ypos 145 120 EDWIN_RESIZE_MW -> ctrlspace in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 160 20 (loc "OS3DLEAPMOTION_0023") nil -> labelref in let crEdCtrlTextLine winstr 180 ypos 140 20 objref nil EDWIN_RESIZE_MW -> ctrlobjref in let crEdCtrlButton winstr 325 ypos 55 20 "..." nil -> pickrefbtn in let crEdCtrlButton winstr 385 ypos 35 20 "X" nil -> refreshobjrefname in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 150 20 (loc "OS3DLEAPMOTION_0013") nil -> labelyoffset in let crEdCtrlLabel winstr 165 ypos 20 20 "Y :" nil -> labelY in let crEdCtrlFloat winstr 185 ypos 100 20 yoffset (-.100000.0) 100000.0 0.01 5 nil EDWIN_RESIZE_MW -> ctrlyoffset in let crEdCtrlLabel winstr 300 ypos 20 20 "Z :" nil -> labelZ in let crEdCtrlFloat winstr 320 ypos 100 20 zoffset (-.100000.0) 100000.0 0.01 5 nil EDWIN_RESIZE_MW -> ctrlzoffset in let crEdCtrlLabel winstr 10 ((set ypos = ypos + 25) + 2) 150 20 (loc "OS3DLEAPMOTION_0011") nil -> labelcoef in let crEdCtrlLabel winstr 165 ypos 20 20 "X :" nil -> labelx in let crEdCtrlFloat winstr 185 ypos 65 20 ax (-.100000.0) 100000.0 0.01 5 nil EDWIN_RESIZE_MW -> ctrlxmul in let crEdCtrlLabel winstr 252 ypos 20 20 "Y :" nil -> labely in let crEdCtrlFloat winstr 268 ypos 65 20 ay (-.100000.0) 100000.0 0.01 5 nil EDWIN_RESIZE_MW -> ctrlymul in let crEdCtrlLabel winstr 335 ypos 20 20 "Z :" nil -> labelZ in let crEdCtrlFloat winstr 355 ypos 65 20 az (-.100000.0) 100000.0 0.01 5 nil EDWIN_RESIZE_MW -> ctrlzmul in let crEdCtrlCheck winstr 10 (set ypos = ypos + 25) (iw - 20) 20 (loc "OS3DLEAPMOTION_0020") EDWIN_RESIZE_MW -> ctrlmirror in let crEdCtrlCheck winstr 10 (set ypos = ypos + 25) (iw - 20) 20 (loc "OS3DLEAPMOTION_0030") EDWIN_RESIZE_MW -> ctrltopview in let crEdCtrlCheck winstr 10 (set ypos = ypos + 25) (iw - 20) 20 (loc "OS3DLEAPMOTION_0032") EDWIN_RESIZE_MW -> ctrlgrab in let crEdCtrlCheck winstr 10 (set ypos = ypos + 25) (iw - 20) 20 (loc "OS3DLEAPMOTION_0007") EDWIN_RESIZE_MW -> ctrlinit in ( setEdCtrlButtonCb picklbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjlhand objlname]; setEdCtrlTextLineEnable ctrlobjlhand 0; setEdCtrlButtonCb refreshobjlname mkfun2 @cbRefreshBtn [ctrlobjlhand]; setEdCtrlCheckState ctrlhidelhand objlhide; setEdCtrlButtonCb pickrbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjrhand objrname]; setEdCtrlTextLineEnable ctrlobjrhand 0; setEdCtrlButtonCb refreshobjrname mkfun2 @cbRefreshBtn [ctrlobjrhand]; setEdCtrlCheckState ctrlhiderhand objrhide; setEdCtrlButtonCb picktlbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjltool objtlname]; setEdCtrlTextLineEnable ctrlobjltool 0; setEdCtrlButtonCb refreshobjtlname mkfun2 @cbRefreshBtn [ctrlobjltool]; setEdCtrlCheckState ctrlhideltool objtlhide; setEdCtrlButtonCb picktrbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjrtool objtrname]; setEdCtrlTextLineEnable ctrlobjrtool 0; setEdCtrlButtonCb refreshobjtrname mkfun2 @cbRefreshBtn [ctrlobjrtool]; setEdCtrlCheckState ctrlhidertool objtrhide; setEdCtrlButtonCb pickrefbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjref objref]; setEdCtrlTextLineEnable ctrlobjref 0; setEdCtrlButtonCb refreshobjrefname mkfun2 @cbRefreshBtn [ctrlobjref]; if (imode == 3) then nil else setEdCtrlButtonEnable pickrefbtn 0; // fingers setEdCtrlButtonCb picktlthumbbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjlthumb objtlthumbname]; setEdCtrlTextLineEnable ctrlobjlthumb 0; setEdCtrlButtonCb refreshobjtlthumbname mkfun2 @cbRefreshBtn [ctrlobjlthumb]; setEdCtrlButtonCb picktlindexbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjlindex objtlindexname]; setEdCtrlTextLineEnable ctrlobjlindex 0; setEdCtrlButtonCb refreshobjtlindexname mkfun2 @cbRefreshBtn [ctrlobjlindex]; setEdCtrlButtonCb picktlmiddlebtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjlmiddle objtlmiddlename]; setEdCtrlTextLineEnable ctrlobjlmiddle 0; setEdCtrlButtonCb refreshobjtlmiddlename mkfun2 @cbRefreshBtn [ctrlobjlmiddle]; setEdCtrlButtonCb picktlringbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjlring objtlringname]; setEdCtrlTextLineEnable ctrlobjlring 0; setEdCtrlButtonCb refreshobjtlringname mkfun2 @cbRefreshBtn [ctrlobjlring]; setEdCtrlButtonCb picktlpinkybtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjlpinky objtlpinkyname]; setEdCtrlTextLineEnable ctrlobjlpinky 0; setEdCtrlButtonCb refreshobjtlpinkyname mkfun2 @cbRefreshBtn [ctrlobjlpinky]; setEdCtrlButtonCb picktrthumbbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjrthumb objtrthumbname]; setEdCtrlTextLineEnable ctrlobjrthumb 0; setEdCtrlButtonCb refreshobjtrthumbname mkfun2 @cbRefreshBtn [ctrlobjrthumb]; setEdCtrlButtonCb picktrindexbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjrindex objtrindexname]; setEdCtrlTextLineEnable ctrlobjrindex 0; setEdCtrlButtonCb refreshobjtrindexname mkfun2 @cbRefreshBtn [ctrlobjrindex]; setEdCtrlButtonCb picktrmiddlebtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjrmiddle objtrmiddlename]; setEdCtrlTextLineEnable ctrlobjrmiddle 0; setEdCtrlButtonCb refreshobjtrmiddlename mkfun2 @cbRefreshBtn [ctrlobjrmiddle]; setEdCtrlButtonCb picktrringbtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjrring objtrringname]; setEdCtrlTextLineEnable ctrlobjrring 0; setEdCtrlButtonCb refreshobjtrringname mkfun2 @cbRefreshBtn [ctrlobjrring]; setEdCtrlButtonCb picktrpinkybtn mkfun2 @cbBtnPickObj [inst winstr viewstr ctrlobjrpinky objtrpinkyname]; setEdCtrlTextLineEnable ctrlobjrpinky 0; setEdCtrlButtonCb refreshobjtrpinkyname mkfun2 @cbRefreshBtn [ctrlobjrpinky]; fillEdCtrlSelect ctrlspace (loc "OS3DLEAPMOTION_0033")::(loc "OS3DLEAPMOTION_0006")::(loc "OS3DLEAPMOTION_0005")::(loc "OS3DLEAPMOTION_0023")::nil; selectEdCtrlSelectByPos ctrlspace imode; setEdCtrlSelectCb ctrlspace mkfun4 @cbSelSpace pickrefbtn; setEdCtrlCheckState ctrlfingers fingers; setEdCtrlCheckState ctrlmirror mirrorx; setEdCtrlCheckState ctrlgrab grab; setEdCtrlCheckState ctrltopview topview; setEdCtrlCheckState ctrlinit init; [mkfun1 @cbCloseEdit [ctrlinit ctrlobjlhand ctrlobjrhand ctrlobjltool ctrlobjrtool ctrlhidelhand ctrlhiderhand ctrlhideltool ctrlhidertool ctrlobjref ctrlyoffset ctrlzoffset ctrlxmul ctrlymul ctrlzmul ctrlfingers ctrlmirror ctrltopview ctrlgrab ctrlspace lfingers rfingers] nil]; ); );;