8 Star 13 Fork 6

@lisp CAD应用云 / @lisp 文档

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
menu.org 2.49 KB
一键复制 编辑 原始数据 按行查看 历史
VitalGG 提交于 2023-03-04 15:10 . some changes

@lisp UI 交互系统

开发者可以很方便地在自己的应用中加入菜单。

菜单函数可以用在 您的应用包内任何 .lsp 文件中。

为了管理方便,可以写一个单独的文件如 menu.lsp , 用于管理你的应用包的菜单。

默认情况下,用户可以使用快捷键 F1 启动命令面板,按 Esc 退出面板,还有 A-Z 可以快速调用 面板中排在前面的 26 个功能。

菜单及命令面板

@lisp 可以在加载应用包时生成相应的菜单。目前 所有的功能菜单均集中于 菜单 @lisp(A) 中。

菜单功能和命令面板中的功能是一致的。

用户可以根据自己的习惯选择用菜单还是命令面板。

添加菜单

@:add-menu 函数用于创建单个菜单。

@:add-menus 用于创建多个菜单

@:add-menu 说明与示例

(@:add-menu "类别" "功能名称" '(功能函数 参数 ...))
(defun 功能函数 (参数 ...)
   "功能定义"
 )

示例(无参数):

(@:add-menu "大绘图" "附着签名" '(@:attach-sign))
(defun @:attach-sign ( )
   ... 
)

示例(有参数):

(@: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)
  ...)

@:add-menus

;; 一个类别,多个功能
(@: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)))

短命令

@lisp 菜单和命令面板没有定义任何 命令行命令。

对于喜欢用键盘操作的用户,@lisp 将命令定义的权利完全交给了用户,用户可以自己定义喜欢的字母组合来启动功能。

(@:define-hotkey "SHORT"  expr) ;; expr 可以不仅限于@lisp中的功能。

编辑短命令 GUI 版本

非开发者

用户也可以添加自己的菜单

只需在的 @lisp 主文件夹下的 custom.lsp 中加入 @:add-menu(s) 相应的语言即可。

Lisp
1
https://gitee.com/atlisp/atlisp-docs.git
git@gitee.com:atlisp/atlisp-docs.git
atlisp
atlisp-docs
@lisp 文档
main

搜索帮助