开源改变世界!!

添加自定义工具栏的可能性 #621

推推 grbl 2年前 (2023-01-26) 243次浏览
关闭
布雷勒 打开了这个问题 2017 年 4 月 15 日 · 4条评论
关闭

添加自定义工具栏的可能性#621

布雷勒 打开了这个问题 2017 年 4 月 15 日 · 4条评论

注释

添加自定义工具栏的可能性 #621
合作者

我一直在研究代码,试图让工具栏自定义工作,使 UGS 更适合在具有低分辨率触摸屏的计算机上运行。我相信通过使平台更加可定制,UGS 可以支持更多平台并且可能更容易扩展。

以处理 GRBL 连接的工具栏面板为例。如果我们将其拆开,我们可以隐藏固件或波特率的设置,因为您很少更改这些设置。但对于某些平台,这可能是一项要求,并且仍会受到支持。

此外,如果我们尝试利用 NetBeans 平台的更多功能,例如,我们将减少对我们自己的操作注册过程的依赖,并且还可以获得平台的本地化和图标处理。

在下图中,我尝试了连接和运行操作。我已经删除了 StartStopPauseToolbar 并从 ConnectionToolbar 中删除了连接操作:

添加自定义工具栏的可能性 #621

所以我想尝试:

  1. 将一些常见操作从 ugs-core 移动到 ugs-platform/ugs-core 并使用 NetBeans 操作注释对其进行注释。这还需要移除采用后端参数的构造函数,让它们改用 CentralLookup。这些操作还需要从 RunActionService 中删除,以免重复。
  2. 删除 ConnectionToolbar 并用更小的操作替换它
  3. 删除 StartStopPauseToolbar 并将其替换为更小的操作

你怎么认为?

添加自定义工具栏的可能性 #621
所有者
绕线机 评论了 2017 年 4 月 16 日  

如此多的 GUI 代码都在 ugs-core 中的主要原因之一是让我能够支持经典的 GUI 以及平台。我想使用更多的 NetBeans 平台,这看起来是对我目前使用的平台的重大改进,但需要以向后兼容的方式完成。

关于本地化,我真的不喜欢 NetBeans 的处理方式——每个包都需要一个单独的本地化文件,而且我想不出一种方法来通过平台接口重用现有的本地化文件。我愿意接受建议,因为当前的方法不是很好(无法本地化键盘快捷菜单)。我不知道工具栏自定义功能,谁知道我使用的方法破坏了哪些其他功能。

具体到你的建议:

  1. 我真的很喜欢利用更多 NetBeans 平台功能的想法,但由于我仍然支持这两个接口,所以我一直在使用外观将标准 swing 代码注册到平台中,而不是完全迁移它。您可以看到大部分*TopComponent.java类,比如JogControlTopComponent我如何使用 NetBeans 注释来注册标准 swing 组件。例如,用StopActionwhich wraps做这件事Stop似乎是个好主意。

  2. 只要它们仍然可以默认组合在一起(我假设类别注释会处理这个),这似乎比我完成的方式要好得多。

  3. 听起来不错。

添加自定义工具栏的可能性 #621
所有者

我想下一个问题是为什么我支持这两种 GUI…我认为很多人都在经典 swing 实现的基本简洁界面中找到了价值。也许它最终会消失,但我不想在一个稳定的平台发布之前就弃用它。

添加自定义工具栏的可能性 #621
合作者作者

我同意保持向后兼容性很重要。我会试一试,尽量不破坏任何东西。=)

添加自定义工具栏的可能性 #621
合作者作者

更改已在#624中检查,我搞砸了我的提交评论。