Hex Artifact Content Вы: nobody
Вход

Artifact 7cd9e1738d4bbe33fa0ccd6ed10ff061b2bcb796:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 49 6e 74 65 72  pt..$uname Inter
0020: 6e 61 6c 46 6f 72 6d 45 78 70 6c 6f 72 65 72 0d  nalFormExplorer.
0030: 0a 24 64 6e 61 6d 65 20 d0 98 d1 81 d1 81 d0 bb  .$dname ........
0040: d0 b5 d0 b4 d0 be d0 b2 d0 b0 d0 bd d0 b8 d0 b5  ................
0050: 20 d1 84 d0 be d1 80 d0 bc 20 31 d0 a1 0d 0a 24   ........ 1....$
0060: 61 64 64 69 6e 20 73 74 64 6c 69 62 0d 0a 0d 0a  addin stdlib....
0070: 2f 2f 20 d0 90 d0 bb d0 b5 d0 ba d1 81 d0 b0 d0  // .............
0080: bd d0 b4 d1 80 20 d0 9e d1 80 d0 b5 d1 84 d0 ba  ..... ..........
0090: d0 be d0 b2 0d 0a 2f 2f 20 d0 a1 d0 ba d1 80 d0  ......// .......
00a0: b8 d0 bf d1 82 20 d0 bf d1 80 d0 b5 d0 b4 d0 bd  ..... ..........
00b0: d0 b0 d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd 20 d0  .............. .
00c0: b4 d0 bb d1 8f 20 d0 b2 d1 8b d0 b2 d0 be d0 b4  ..... ..........
00d0: d0 b0 20 d0 b8 d0 bd d1 84 d0 be d1 80 d0 bc d0  .. .............
00e0: b0 d1 86 d0 b8 d0 b8 20 d0 be 20 d1 81 d0 be d1  ....... .. .....
00f0: 81 d1 82 d0 b0 d0 b2 d0 b5 20 d0 ba d0 be d0 bd  ......... ......
0100: d1 82 d1 80 d0 be d0 bb d0 be d0 b2 2c 20 d1 81  ............, ..
0110: d0 b2 d0 be d0 b9 d1 81 d1 82 d0 b2 d0 b0 d1 85  ................
0120: 20 d0 b8 20 d1 81 d0 be d0 b1 d1 8b d1 82 d0 b8   .. ............
0130: d1 8f d1 85 0d 0a 2f 2f 20 d0 b2 d0 bd d1 83 d1  ......// .......
0140: 82 d1 80 d0 b5 d0 bd d0 bd d0 b8 d1 85 20 d1 84  ............. ..
0150: d0 be d1 80 d0 bc 20 31 d0 a1 0d 0a 73 74 64 6c  ...... 1....stdl
0160: 69 62 2e 72 65 71 75 69 72 65 28 22 53 65 6c 65  ib.require("Sele
0170: 63 74 56 61 6c 75 65 44 69 61 6c 6f 67 2e 6a 73  ctValueDialog.js
0180: 22 2c 20 53 65 6c 66 53 63 72 69 70 74 29 3b 0d  ", SelfScript);.
0190: 0a 0d 0a 76 61 72 20 6c 61 73 74 4d 6f 64 61 6c  ...var lastModal
01a0: 46 6f 72 6d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e  Form....function
01b0: 20 6f 6e 44 6f 4d 6f 64 61 6c 28 64 6c 67 49 6e   onDoModal(dlgIn
01c0: 66 6f 29 0d 0a 7b 0d 0a 20 20 20 20 69 66 28 6f  fo)..{..    if(o
01d0: 70 65 6e 4d 6f 64 61 6c 57 6e 64 20 3d 3d 20 64  penModalWnd == d
01e0: 6c 67 49 6e 66 6f 2e 73 74 61 67 65 20 26 26 20  lgInfo.stage && 
01f0: 64 6c 67 49 6e 66 6f 2e 66 6f 72 6d 29 0d 0a 20  dlgInfo.form).. 
0200: 20 20 20 20 20 20 20 6c 61 73 74 4d 6f 64 61 6c         lastModal
0210: 46 6f 72 6d 20 3d 20 64 6c 67 49 6e 66 6f 2e 66  Form = dlgInfo.f
0220: 6f 72 6d 0d 0a 7d 0d 0a 0d 0a 65 76 65 6e 74 73  orm..}....events
0230: 2e 63 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77 73  .connect(windows
0240: 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53  , "onDoModal", S
0250: 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 29 0d  elfScript.self).
0260: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 46  ...function getF
0270: 6f 72 6d 28 29 0d 0a 7b 0d 0a 20 20 20 20 69 66  orm()..{..    if
0280: 28 77 69 6e 64 6f 77 73 2e 6d 6f 64 61 6c 4d 6f  (windows.modalMo
0290: 64 65 20 3d 3d 20 6d 73 4e 6f 6e 65 29 0d 0a 20  de == msNone).. 
02a0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 76 61     {..        va
02b0: 72 20 61 76 20 3d 20 77 69 6e 64 6f 77 73 2e 67  r av = windows.g
02c0: 65 74 41 63 74 69 76 65 56 69 65 77 28 29 0d 0a  etActiveView()..
02d0: 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61          return a
02e0: 76 20 3f 20 61 76 2e 67 65 74 49 6e 74 65 72 6e  v ? av.getIntern
02f0: 61 6c 46 6f 72 6d 28 29 20 3a 20 6e 75 6c 6c 0d  alForm() : null.
0300: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 72 65 74 75  .    }..    retu
0310: 72 6e 20 6c 61 73 74 4d 6f 64 61 6c 46 6f 72 6d  rn lastModalForm
0320: 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20  ..}....function 
0330: 65 78 70 6c 6f 72 65 41 63 74 69 76 65 46 6f 72  exploreActiveFor
0340: 6d 28 77 69 74 68 50 72 6f 70 73 29 0d 0a 7b 0d  m(withProps)..{.
0350: 0a 20 20 20 20 76 61 72 20 66 6f 72 6d 20 3d 20  .    var form = 
0360: 67 65 74 46 6f 72 6d 28 29 0d 0a 20 20 20 20 69  getForm()..    i
0370: 66 28 21 66 6f 72 6d 29 0d 0a 20 20 20 20 20 20  f(!form)..      
0380: 20 20 72 65 74 75 72 6e 0d 0a 20 20 20 20 2f 2f    return..    //
0390: 20 2d 31 20 2d 20 d1 8d d1 82 d0 be 20 d1 81 d0   -1 - ...... ...
03a0: b0 d0 bc d0 b0 20 d1 84 d0 be d1 80 d0 bc d0 b0  ..... ..........
03b0: 0d 0a 20 20 20 20 66 6f 72 28 76 61 72 20 69 20  ..    for(var i 
03c0: 3d 20 2d 31 2c 20 6b 20 3d 20 66 6f 72 6d 2e 63  = -1, k = form.c
03d0: 6f 6e 74 72 6f 6c 73 43 6f 75 6e 74 3b 20 69 20  ontrolsCount; i 
03e0: 3c 20 6b 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 7b  < k; i++)..    {
03f0: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63 74  ..        var ct
0400: 72 20 3d 20 66 6f 72 6d 2e 67 65 74 43 6f 6e 74  r = form.getCont
0410: 72 6f 6c 28 69 29 0a 20 20 20 20 20 20 20 20 4d  rol(i).        M
0420: 65 73 73 61 67 65 28 22 43 6f 6e 74 72 6f 6c 20  essage("Control 
0430: 23 22 20 2b 20 69 20 2b 20 22 20 6e 61 6d 65 3d  #" + i + " name=
0440: 22 20 2b 20 63 74 72 2e 6e 61 6d 65 20 2b 20 22  " + ctr.name + "
0450: 20 69 64 3d 22 20 2b 20 63 74 72 2e 69 64 2c 20   id=" + ctr.id, 
0460: 6d 49 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 69  mInfo).        i
0470: 66 28 77 69 74 68 50 72 6f 70 73 29 0a 20 20 20  f(withProps).   
0480: 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20       {.         
0490: 20 20 20 76 61 72 20 70 72 6f 70 73 20 3d 20 63     var props = c
04a0: 74 72 2e 70 72 6f 70 73 0a 20 20 20 20 20 20 20  tr.props.       
04b0: 20 20 20 20 20 66 6f 72 28 76 61 72 20 69 64 78       for(var idx
04c0: 20 3d 20 30 2c 20 63 6e 74 20 3d 20 70 72 6f 70   = 0, cnt = prop
04d0: 73 2e 63 6f 75 6e 74 3b 20 69 64 78 20 3c 20 63  s.count; idx < c
04e0: 6e 74 3b 20 69 64 78 2b 2b 29 0a 20 20 20 20 20  nt; idx++).     
04f0: 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20         {.       
0500: 20 20 20 20 20 20 20 20 20 76 61 72 20 76 20 3d           var v =
0510: 20 74 6f 56 38 56 61 6c 75 65 28 70 72 6f 70 73   toV8Value(props
0520: 2e 67 65 74 56 61 6c 75 65 28 69 64 78 29 29 0a  .getValue(idx)).
0530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0540: 4d 65 73 73 61 67 65 28 22 5c 74 22 20 2b 20 70  Message("\t" + p
0550: 72 6f 70 73 2e 70 72 6f 70 4e 61 6d 65 28 69 64  rops.propName(id
0560: 78 29 20 2b 20 22 20 3d 20 22 20 2b 20 76 2e 70  x) + " = " + v.p
0570: 72 65 73 65 6e 74 61 74 69 6f 6e 28 29 20 2b 20  resentation() + 
0580: 22 20 20 d0 a2 d0 b8 d0 bf 3d 22 20 2b 20 76 2e  "  ......=" + v.
0590: 74 79 70 65 4e 61 6d 65 28 31 29 20 2b 20 22 20  typeName(1) + " 
05a0: 22 20 2b 20 76 2e 74 6f 53 74 72 69 6e 67 49 6e  " + v.toStringIn
05b0: 74 65 72 6e 61 6c 28 29 29 3b 0a 20 20 20 20 20  ternal());.     
05c0: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20         }.       
05d0: 20 7d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 66   }.    }..}....f
05e0: 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 54 72  unction enableTr
05f0: 61 63 65 28 65 6e 61 62 6c 65 29 0d 0a 7b 0d 0a  ace(enable)..{..
0600: 20 20 20 20 76 61 72 20 66 6f 72 6d 20 3d 20 67      var form = g
0610: 65 74 46 6f 72 6d 28 29 0d 0a 20 20 20 20 69 66  etForm()..    if
0620: 28 66 6f 72 6d 29 0d 0a 20 20 20 20 20 20 20 20  (form)..        
0630: 66 6f 72 6d 2e 74 72 61 70 44 69 61 6c 6f 67 45  form.trapDialogE
0640: 76 65 6e 74 73 20 3d 20 65 6e 61 62 6c 65 0d 0a  vents = enable..
0650: 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61  }....function ma
0660: 63 72 6f 73 d0 9f d0 be d0 ba d0 b0 d0 b7 d0 b0  cros............
0670: d1 82 d1 8c d0 9a d0 be d0 bd d1 82 d1 80 d0 be  ................
0680: d0 bb d1 8b d0 90 d0 ba d1 82 d0 b8 d0 b2 d0 bd  ................
0690: d0 be d0 b9 d0 a4 d0 be d1 80 d0 bc d1 8b 28 29  ..............()
06a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20                { 
06b0: 65 78 70 6c 6f 72 65 41 63 74 69 76 65 46 6f 72  exploreActiveFor
06c0: 6d 28 66 61 6c 73 65 29 20 7d 0d 0a 66 75 6e 63  m(false) }..func
06d0: 74 69 6f 6e 20 6d 61 63 72 6f 73 d0 9f d0 be d0  tion macros.....
06e0: ba d0 b0 d0 b7 d0 b0 d1 82 d1 8c d0 9a d0 be d0  ................
06f0: bd d1 82 d1 80 d0 be d0 bb d1 8b d0 90 d0 ba d1  ................
0700: 82 d0 b8 d0 b2 d0 bd d0 be d0 b9 d0 a4 d0 be d1  ................
0710: 80 d0 bc d1 8b 43 d0 be d0 a1 d0 92 d0 be d0 b9  .....C..........
0720: d1 81 d1 82 d0 b2 d0 b0 d0 bc d0 b8 28 29 20 20  ............()  
0730: 7b 20 65 78 70 6c 6f 72 65 41 63 74 69 76 65 46  { exploreActiveF
0740: 6f 72 6d 28 74 72 75 65 29 20 7d 0d 0a 66 75 6e  orm(true) }..fun
0750: 63 74 69 6f 6e 20 6d 61 63 72 6f 73 d0 9d d0 b0  ction macros....
0760: d1 87 d0 b0 d1 82 d1 8c d0 9e d1 82 d1 81 d0 bb  ................
0770: d0 b5 d0 b6 d0 b8 d0 b2 d0 b0 d0 bd d0 b8 d0 b5  ................
0780: d0 a1 d0 be d0 b1 d1 8b d1 82 d0 b8 d0 b9 d0 90  ................
0790: d0 ba d1 82 d0 b8 d0 b2 d0 bd d0 be d0 b9 d0 a4  ................
07a0: d0 be d1 80 d0 bc d1 8b 28 29 20 20 20 20 20 7b  ........()     {
07b0: 20 65 6e 61 62 6c 65 54 72 61 63 65 28 74 72 75   enableTrace(tru
07c0: 65 29 20 7d 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d  e) }..function m
07d0: 61 63 72 6f 73 d0 97 d0 b0 d0 b2 d0 b5 d1 80 d1  acros...........
07e0: 88 d0 b8 d1 82 d1 8c d0 9e d1 82 d1 81 d0 bb d0  ................
07f0: b5 d0 b6 d0 b8 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 d0  ................
0800: a1 d0 be d0 b1 d1 8b d1 82 d0 b8 d0 b9 d0 90 d0  ................
0810: ba d1 82 d0 b8 d0 b2 d0 bd d0 be d0 b9 d0 a4 d0  ................
0820: be d1 80 d0 bc d1 8b 28 29 20 20 7b 20 65 6e 61  .......()  { ena
0830: 62 6c 65 54 72 61 63 65 28 66 61 6c 73 65 29 20  bleTrace(false) 
0840: 7d 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72  }..function macr
0850: 6f 73 d0 9f d0 be d0 ba d0 b0 d0 b7 d0 b0 d1 82  os..............
0860: d1 8c d0 a1 d0 b2 d0 be d0 b9 d1 81 d1 82 d0 b2  ................
0870: d0 b0 d0 9a d0 be d0 bd d1 82 d1 80 d0 be d0 bb  ................
0880: d0 b0 28 29 0d 0a 7b 0d 0a 20 20 20 20 76 61 72  ..()..{..    var
0890: 20 66 6f 72 6d 20 3d 20 67 65 74 46 6f 72 6d 28   form = getForm(
08a0: 29 0d 0a 20 20 20 20 69 66 28 21 66 6f 72 6d 29  )..    if(!form)
08b0: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20  ..    {..       
08c0: 20 4d 65 73 73 61 67 65 42 6f 78 28 22 d0 9d d0   MessageBox("...
08d0: b5 d1 82 20 d0 b0 d0 ba d1 82 d0 b8 d0 b2 d0 bd  ... ............
08e0: d0 be d0 b9 20 d1 84 d0 be d1 80 d0 bc d1 8b 22  .... .........."
08f0: 29 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72  )..        retur
0900: 6e 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 76 61  n..    }..    va
0910: 72 20 76 6c 20 3d 20 76 38 4e 65 77 28 22 d0 a1  r vl = v8New("..
0920: d0 bf d0 b8 d1 81 d0 be d0 ba d0 97 d0 bd d0 b0  ................
0930: d1 87 d0 b5 d0 bd d0 b8 d0 b9 22 29 0d 0a 20 20  ..........")..  
0940: 20 20 76 6c 2e 41 64 64 28 2d 31 20 2b 20 32 2c    vl.Add(-1 + 2,
0950: 20 22 d0 a4 d0 be d1 80 d0 bc d0 b0 22 29 0d 0a   "..........")..
0960: 20 20 20 20 66 6f 72 28 76 61 72 20 69 20 3d 20      for(var i = 
0970: 30 2c 20 6b 20 3d 20 66 6f 72 6d 2e 63 6f 6e 74  0, k = form.cont
0980: 72 6f 6c 73 43 6f 75 6e 74 3b 20 69 20 3c 20 6b  rolsCount; i < k
0990: 3b 20 69 2b 2b 29 0d 0a 20 20 20 20 7b 0d 0a 20  ; i++)..    {.. 
09a0: 20 20 20 20 20 20 20 76 61 72 20 6e 61 6d 65 20         var name 
09b0: 3d 20 66 6f 72 6d 2e 67 65 74 43 6f 6e 74 72 6f  = form.getContro
09c0: 6c 28 69 29 2e 6e 61 6d 65 0d 0a 20 20 20 20 20  l(i).name..     
09d0: 20 20 20 69 66 28 21 6e 61 6d 65 2e 6c 65 6e 67     if(!name.leng
09e0: 74 68 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20  th)..           
09f0: 20 6e 61 6d 65 20 3d 20 22 22 20 2b 20 69 0d 0a   name = "" + i..
0a00: 20 20 20 20 20 20 20 20 76 6c 2e 41 64 64 28 69          vl.Add(i
0a10: 20 2b 20 32 2c 20 6e 61 6d 65 29 20 20 2f 2f 20   + 2, name)  // 
0a20: 53 65 6c 65 63 74 56 61 6c 75 65 44 69 61 6c 6f  SelectValueDialo
0a30: 67 20 d0 bd d0 b5 20 d0 b4 d0 b0 d0 b5 d1 82 20  g .... ........ 
0a40: d0 b2 d1 8b d0 b1 d1 80 d0 b0 d1 82 d1 8c 20 d0  .............. .
0a50: b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d0 b5 20  ............... 
0a60: 30 2c 20 d0 bf d0 be d1 8d d1 82 d0 be d0 bc d1  0, .............
0a70: 83 20 d1 81 d0 b4 d0 b2 d0 b8 d0 bd d0 b5 d0 bc  . ..............
0a80: 20 d0 b2 d1 81 d0 b5 20 d0 bd d0 b0 20 32 0d 0a   ...... .... 2..
0a90: 20 20 20 20 7d 0d 0a 20 20 20 20 76 61 72 20 64      }..    var d
0aa0: 6c 67 20 3d 20 6e 65 77 20 53 65 6c 65 63 74 56  lg = new SelectV
0ab0: 61 6c 75 65 44 69 61 6c 6f 67 28 22 d0 a3 d0 ba  alueDialog("....
0ac0: d0 b0 d0 b6 d0 b8 d1 82 d0 b5 20 d0 ba d0 be d0  .......... .....
0ad0: bd d1 82 d1 80 d0 be d0 bb 22 2c 20 76 6c 29 3b  .........", vl);
0ae0: 0d 0a 20 20 20 20 69 66 28 64 6c 67 2e 73 65 6c  ..    if(dlg.sel
0af0: 65 63 74 56 61 6c 75 65 28 29 29 0d 0a 20 20 20  ectValue())..   
0b00: 20 20 20 20 20 66 6f 72 6d 2e 67 65 74 43 6f 6e       form.getCon
0b10: 74 72 6f 6c 28 64 6c 67 2e 73 65 6c 65 63 74 65  trol(dlg.selecte
0b20: 64 56 61 6c 75 65 20 2d 20 32 29 2e 70 72 6f 70  dValue - 2).prop
0b30: 73 2e 61 63 74 69 76 61 74 65 50 72 6f 70 65 72  s.activateProper
0b40: 74 79 28 22 d0 98 d0 bc d1 8f 22 29 0d 0a 7d 0d  ty("......")..}.
0b50: 0a                                               .