part_pane.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. ////////////////////////////////////////////////////////////////////////////
  2. // System Pre-define Functions
  3. // 95099372-ef3e-11ea-9c81-bf848405c62e
  4. //Callback of data preparation stage before UI is fully loaded.
  5. function OnInitializeData(reload, preview) {
  6. PUI(()=>{
  7. //you can access the 'ui' namespace in the parent form using the variable 'pui' here.
  8. //The 'pui' variable is valid in all functions of this document.
  9. //For robustness, you'd better use 'PUI(cb);' to access 'pui' variable.
  10. });
  11. }
  12. //Callback after UI is fully loaded and displayed.
  13. function OnReady(reload, preview) {
  14. PUI(()=>{
  15. //you can access the 'ui' namespace in the parent form using the variable 'pui' here.
  16. //The 'pui' variable is valid in all functions of this document.
  17. //For robustness, you'd better use 'PUI(cb);' to access 'pui' variable.
  18. });
  19. }
  20. function OnCloseForm() {
  21. }
  22. function OnException(err) {
  23. //ui.MessageBox('Error', '' + err, MessageBox.Icon.Critical, MessageBox.Button.Ok);
  24. }
  25. //////////////////////////////////////////////////////////////////////////
  26. // Callback Functions.
  27. // 641a254c-ef3e-11ea-bc8a-379bb908bdd7
  28. function OnChangeStep(Idx){
  29. const difModel = {
  30. 'project':() => {
  31. ui.project_btn.valid = true;
  32. ui.import_btn.valid = false;
  33. ui.tip_btn.valid = false;
  34. ui.material_btn.valid = false;
  35. ui.fillet_btn.valid = false;
  36. ui.modify_btn.valid = false;
  37. ui.formchk_btn.valid = false;
  38. unit.form.side_pane.OnChangeStep(0);
  39. },
  40. 'import':() => {
  41. ui.project_btn.valid = false;
  42. ui.import_btn.valid = true;
  43. ui.tip_btn.valid = false;
  44. ui.material_btn.valid = false;
  45. ui.fillet_btn.valid = false;
  46. ui.modify_btn.valid = false;
  47. ui.formchk_btn.valid = false;
  48. unit.form.side_pane.OnChangeStep(1);
  49. },
  50. 'tip':() => {
  51. ui.project_btn.valid = false;
  52. ui.import_btn.valid = false;
  53. ui.tip_btn.valid = true;
  54. ui.material_btn.valid = false;
  55. ui.fillet_btn.valid = false;
  56. ui.modify_btn.valid = false;
  57. ui.formchk_btn.valid = false;
  58. unit.form.side_pane.OnChangeStep(2);
  59. unit.form.part_tip.upda();
  60. },
  61. 'material':() => {
  62. ui.project_btn.valid = false;
  63. ui.import_btn.valid = false;
  64. ui.tip_btn.valid = false;
  65. ui.material_btn.valid = true;
  66. ui.fillet_btn.valid = false;
  67. ui.modify_btn.valid = false;
  68. ui.formchk_btn.valid = false;
  69. unit.form.side_pane.OnChangeStep(3);
  70. },
  71. 'fillet':() => {
  72. ui.project_btn.valid = false;
  73. ui.import_btn.valid = false;
  74. ui.tip_btn.valid = false;
  75. ui.material_btn.valid = false;
  76. ui.fillet_btn.valid = true;
  77. ui.modify_btn.valid = false;
  78. ui.formchk_btn.valid = false;
  79. unit.form.side_pane.OnChangeStep(4);
  80. },
  81. 'modify':() => {
  82. ui.project_btn.valid = false;
  83. ui.import_btn.valid = false;
  84. ui.tip_btn.valid = false;
  85. ui.material_btn.valid = false;
  86. ui.fillet_btn.valid = false;
  87. ui.modify_btn.valid = true;
  88. ui.formchk_btn.valid = false;
  89. unit.form.side_pane.OnChangeStep(5);
  90. },
  91. 'formchk':() => {
  92. ui.project_btn.valid = false;
  93. ui.import_btn.valid = false;
  94. ui.tip_btn.valid = false;
  95. ui.material_btn.valid = false;
  96. ui.fillet_btn.valid = false;
  97. ui.modify_btn.valid = false;
  98. ui.formchk_btn.valid = true;
  99. unit.form.side_pane.OnChangeStep(6);
  100. }
  101. };
  102. return difModel[Idx]();
  103. }
  104. //The message corresponding callback executed by the docker pane.
  105. // when calling [side_pane].fireEvent(type,para) in the main form.
  106. function OnParentDockerMessage(type, para) {
  107. }
  108. //////////////////////////////////////////////////////////////////////////
  109. // Utils Functions.
  110. // 6c165ad6-ef3e-11ea-987c-b761a131c2fe
  111. function onDragFile(filepath) {
  112. }
  113. function PUI(cb) {
  114. if(pui){cb();}
  115. }
  116. /*Usage of BLOCK_EVENT
  117. BLOCK_EVENT(()=>{
  118. ui.[name].[var] = ...;
  119. });
  120. */
  121. function BLOCK_EVENT(cb) {
  122. ui.block_event = true;
  123. cb();
  124. ui.block_event = false;
  125. }
  126. //////////////////////////////////////////////////////////////////////////
  127. // template codes for cw callback js.
  128. function CW_DeclareVariable(name, setter, getter) {
  129. if(typeof(__DeclareVariable) === 'function') {
  130. __DeclareVariable(name, setter, getter);
  131. }
  132. }
  133. function CW_DeclareOuterVariable(name) {
  134. if(typeof(__DeclareOuterVariable) === 'function') {
  135. __DeclareOuterVariable(name);
  136. }
  137. }