class.tin 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #nop vim: set filetype=tt:;
  2. /*
  3. 模块名称:class 功能封装
  4. 模块说明:本文件属于框架代码的一部分,不建议修改。如有需求请在 GitHub 发 issue 或者 PR
  5. 版权声明:本文件属于 PaoTin++ 的一部分
  6. ===========
  7. PaoTin++ © 2020~2022 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  8. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  9. ===========
  10. */
  11. #list xtt-class-stack create {};
  12. #alias {class.name} {
  13. #local currentClassName {${xtt-class-stack[-1]}};
  14. };
  15. #alias {class.open} {
  16. #local className {%1};
  17. #list {xtt-class-stack} {add} {$className};
  18. #class {$className} open;
  19. };
  20. #alias {class.close} {
  21. #local className {%1};
  22. #class {$className} close;
  23. #list {xtt-class-stack} {delete} {-1};
  24. #local preClassName {${xtt-class-stack[-1]}};
  25. #if { "$preClassName" != "" } {
  26. #class {$preClassName} open;
  27. };
  28. };
  29. #alias {class.kill} {
  30. #local className {%1};
  31. #class {$className} kill;
  32. };
  33. #alias {class.read} {
  34. #local className {%1};
  35. #local filePath {%2};
  36. class.open {$className};
  37. class.do {$className} {load-file $filePath};
  38. class.close {$className};
  39. };
  40. #alias {class.do} {
  41. #local className {%1};
  42. #local code {%2};
  43. #class {$className} {assign} {$code};
  44. };
  45. #alias {class.enable} {
  46. #local className {%1};
  47. #class {$className} {load};
  48. };
  49. #alias {class.disable} {
  50. #local className {%1};
  51. #class {$className} {save};
  52. #class {$className} {clear};
  53. };