const.js
上传用户:yfdli66
上传日期:2010-02-20
资源大小:47k
文件大小:5k
源码类别:

JavaScript

开发平台:

JavaScript

  1. /*------------------------------------------------------------------------------
  2. +                        系统常量的定义               +
  3. +                                +
  4. +             +
  5. -------------------------------------------------------------------------------*/
  6. //是否可以拖动
  7. var fDragApproved=false;
  8. var fSelectedObj,fx,fy;    //当前所选择的对象
  9. //选择的按钮
  10.     var fLiftButton="sel";
  11. //是否在画线 0,不在画线;1,起点;2,终点
  12. var fAddLineFlag = 0;
  13. var fLineStartObj = null;
  14. var fLineEndObj = null;
  15. //控件的数量
  16. var fCtlNum;
  17. //表格宽度和高度
  18. var fGridNo=20;
  19. //类型
  20. var CNST_CTLTYPE_INITIAL  = "initial";  //启动
  21. var CNST_CTLTYPE_STEPS    = "steps";    //步骤
  22. var CNST_CTLTYPE_JOINS    = "joins";    //连接
  23. var CNST_CTLTYPE_SPLITS   = "splits";   //分割
  24. var CNST_CTLTYPE_LINES    = "lines";    //线段
  25. //增加到控件列表中
  26. function addToObjArray (obj,toLine) {
  27. var oOption = document.createElement("OPTION");
  28. sltObjArray.options.add(oOption);
  29. oOption.innerText = obj;
  30. oOption.value = obj;
  31. fSelectedObj = eval(obj);
  32. if (toLine==true) {
  33.          moveObjToline(fSelectedObj);
  34. }
  35. fCtlNum++; //对象计数
  36. iptCtlNum.value=fCtlNum; //控件中计数同步
  37. }
  38. //从控件列表删除
  39. function removeFromObjArray (obj) {
  40. for (var i=0;i<sltObjArray.options.length;i++) {
  41. if (obj.id==sltObjArray.options[i].value) {
  42. sltObjArray.options[i] = null; //删除
  43. break;
  44. }
  45. }
  46. }
  47. //四舍五入
  48. function floatRound(myFloat) {
  49. var cutNumber = Math.pow(10,0);
  50. return Math.round(myFloat * cutNumber)/cutNumber;
  51. }
  52. //适应表格
  53. function moveObjToline(aObj) {
  54. aObj.style.left = Math.abs(floatRound((parseInt(aObj.style.left)+parseInt(aObj.style.width)/2)/fGridNo)*fGridNo - parseInt(aObj.style.width)/2);
  55. aObj.style.top  = Math.abs(floatRound((parseInt(aObj.style.top)+parseInt(aObj.style.height)/2)/fGridNo)*fGridNo - parseInt(aObj.style.height)/2);
  56. }
  57. function cf_CalculateLinePos (aStart,aEnd) {
  58.      var posArray = new Array();
  59. var x1,y1,x2,y3,x3,y3,x4,y4;
  60. var sl,st,sw,sh,el,et,ew,eh;
  61. var spacing;
  62. //开始
  63. with (aStart.style) {
  64. sl = parseInt(pixelLeft);  //Left
  65. st = parseInt(pixelTop);   //Top
  66. sw = 20;//parseInt(width);      //width
  67. sh = 15;//parseInt(height);     //height
  68. }
  69. //结束
  70. with (aEnd.style) {
  71. el = parseInt(pixelLeft);  //Left
  72. et = parseInt(pixelTop);   //Top
  73. ew = 20;//parseInt(width);      //width
  74. eh = 15;//parseInt(height);     //height
  75. }
  76. //计算路线
  77. x1 = sl+sw/2;
  78. y1 = st+sh/2;
  79. x4 = el+ew/2;
  80. y4 = et+eh/2;
  81. var i,j;
  82. i = x4-x1;
  83. j = y4-y1;
  84. if (j>0) {
  85. if (Math.abs(j)<=Math.abs(i)) {
  86. if (j<=eh/2) {
  87. if (i>0) {
  88.              x3 = x1;
  89.                  y3 = y1;
  90. x4 = el;
  91.                  y4 = y1;
  92. } else {
  93.              x3 = x1;
  94.                  y3 = y1;
  95. x4 = el+ew+4;
  96.                  y4 = y1;
  97. }
  98. } else {
  99.              x3 = x4;
  100.                  y3 = y1;
  101.                  y4 = et;
  102. }
  103. } else {
  104. if (Math.abs(i)<=ew/2) {
  105.                  x3 = x1;
  106.                     y3 = y1;
  107.                     x4 = x1;
  108.                     y4 = et;
  109.                 } else {
  110. if (i==0) {
  111.              x3 = x1;
  112.                  y3 = y1;
  113. y4 = et;
  114. } else if (i>0) {
  115.                      x3 = x1;
  116.                  y3 = y4;
  117. x4 = el;
  118. } else {
  119.              x3 = x1;
  120.                  y3 = y4;
  121. x4 = el+ew+4;
  122. }
  123.                 }
  124. }
  125. } else if (j<0) {
  126. if (Math.abs(j)<=Math.abs(i)) {
  127. if (Math.abs(j)<=eh/2) {
  128. if (i>0) {
  129.              x3 = x1;
  130.                  y3 = y1;
  131. x4 = el;
  132.                  y4 = y1;
  133. } else {
  134.              x3 = x1;
  135.                  y3 = y1;
  136. x4 = el+ew+4;
  137.                  y4 = y1;
  138. }
  139. } else {
  140.              x3 = x4;
  141.                  y3 = y1;
  142.                  y4 = et+eh+4;
  143. }
  144. } else {
  145. if (Math.abs(i)<=ew/2) {
  146.                  x3 = x1;
  147.                     y3 = y1;
  148.                     x4 = x1;
  149.                     y4 = et+eh+4;
  150. } else {
  151. if (i==0) {
  152.              x3 = x1;
  153.                  y3 = y1;
  154. y4 = et+eh+4;
  155. } else if (i>0) {
  156.              x3 = x1;
  157.                  y3 = y4;
  158. x4 = el;
  159. } else {
  160.              x3 = x1;
  161.                  y3 = y4;
  162. x4 = el+ew+4;
  163. }
  164. }
  165. }
  166. } else {
  167. if (i==0) {
  168. x3 = x1;
  169. y3 = y1;
  170. x4 = el+ew+4;
  171. } else if (i>0) {
  172. x3 = x1;
  173. y3 = y1;
  174. x4 = el;
  175. } else {
  176. x3 = x1;
  177. y3 = y1;
  178. x4 = el+ew+4;
  179. }
  180. }
  181.         x2 = x1;
  182.         y2 = y1;
  183. //放到数组里面
  184. posArray["x1"] = x1;
  185. posArray["x2"] = x2;
  186. posArray["x3"] = x3;
  187. posArray["x4"] = x4;
  188. posArray["y1"] = y1;
  189. posArray["y2"] = y2;
  190. posArray["y3"] = y3;
  191. posArray["y4"] = y4;
  192. return posArray;  //返回
  193. }