有没有可以合并LISP工具到按钮合集工具?
有没有可以合并LISP工具到按钮合集工具?意思是插入一个LISP文件到工具箱中,就能生成一个功能按钮。插入几个就能生成合集的工具,有没有呢?
想的太宽了,手工填一下不行吗? 本帖最后由 vitalgg 于 2023-1-1 14:19 编辑
#+title: @lisp UI 交互系统
开发者可以很方便地在自己的应用中加入菜单。
菜单函数可以用在 您的应用包内任何 .lsp 文件中。
为了管理方便,可以写一个单独的文件如 menu.lsp , 用于管理你的应用包的菜单。
默认情况下,用户可以使用快捷键 *F1* 启动命令面板,按 *Esc* 退出面板,还有 *A-Z* 可以快速调用 面板中排在前面的 26 个功能。
* 菜单及命令面板
@lisp 可以在加载应用包时生成相应的菜单。目前 所有的功能菜单均集中于 菜单 @lisp(A) 中。
菜单功能和命令面板中的功能是一致的。
用户可以根据自己的习惯选择用菜单还是命令面板。
* 添加菜单
=@:add-menu= 函数用于创建单个菜单。
=@:add-menus= 用于创建多个菜单
** @:add-menu 说明与示例
#+BEGIN_SRC lisp
(@:add-menu "类别" "功能名称" '(功能函数 参数 ...))
(defun 功能函数 (参数 ...)
"功能定义"
)
#+END_SRC
示例(无参数):
#+BEGIN_SRC lisp
(@:add-menu "大绘图" "附着签名" '(@:attach-sign))
(defun @:attach-sign ( )
...
)
#+END_SRC
示例(有参数):
#+BEGIN_SRC lisp
(@:add-menu "大绘图" "插入图框" '(@:insert-tukuang "tukuang.dwg" @:*tukuang*))
(@:add-menu "变更及工程处理" "变更" '(@:insert-tukuang "bg-tukuang.dwg" @:*bg-tukuang*))
(@:add-menu "变更及工程处理" "处理方案" '(@:insert-tukuang "fa-tukuang.dwg" @:*fa-tukuang*))
(defun @:insert-tukuang (tk-file tk-dwg)
...)
#+END_SRC
** @:add-menus
#+begin_src lisp
;; 一个类别,多个功能
(@:add-menus
'("类别"
("功能1" (expr1)) ; 本身在 quote 中,不用重复 quote
("功能2" (expr2))
("功能3" (expr3))))
;; 多个类别,多个功能
(@:add-menus
'(("类别1"
("功能1" (expr1))
("功能2" (expr2))
("功能3" (expr3)))
("类别2"
("功能4" (expr6))
("功能5" (expr5))
("功能6" (expr4)))
#+end_src
* 短命令
@lisp 菜单和命令面板没有定义任何 命令行命令。
对于喜欢用键盘操作的用户,@lisp 将命令定义的权利完全交给了用户,用户可以自己定义喜欢的字母组合来启动功能。
#+begin_src lisp
(@:define-hotkey "SHORT"expr) ;; expr 可以不仅限于@lisp中的功能。
#+end_src
** TODO 编辑短命令 GUI 版本
* 非开发者
用户也可以添加自己的菜单
只需在的 @lisp 主文件夹下的 custom.lsp 中加入 @:add-menu(s) 相应的语言即可。
页:
[1]