我想将简单 CAD 系统的用户界面放在决策表中。但我担心如何将这些东西放在桌子上。
首先,有一个当前模式(CurMode)可以是:移动、旋转、删除
接下来,有这样的鼠标动作:
OnLButtonDown OnLButtonUp OnRButtonDown OnRButtonUp OnMButtonDown OnMButtonUp OnMouseMove
也许对当前鼠标光标下的对象有一个附加测试,比如这个 ObjectUnderMouse (true/False)
有了这些和其他参数,我想决定以下规则:
如果 Mode 为 Delete 且对象位于鼠标下方且按下 OnLButtonDown,则删除该对象。
如果按下 MButtonUp (MouseWheel),则缩放 + 如果按下 MButtonDown (MouseWheel),则缩放 -
如果 Mode 是 Move 并且对象在鼠标下方并且 OnLButtonDown 被按下,则将对象放入缓冲区中。如果 Mode 为 Move 且 OnLButtonDown 且对象在 Buffer 和 OnMouseMove 动作,则移动对象
...... 等等。
你明白这个场景吗?
我在 Google 上搜索了很多,看到了非常简单的 DT,但是如何将这作为一个具有数百个参数、状态、模式和 UI 操作的大型 CAD 系统的良好开端。
为这样的 CAD 系统服务的决策表的最佳设计是什么?
提前致谢