我想从锻造工具栏中删除一些按钮。
到目前为止,我已经使用@Philippe在PhilippeAnswer上的代码,并且成功删除了“ navTools”和“ modelTools”中的所有按钮。尝试使用“ settingsTools”时,我只能删除ModelBrowser按钮,而不能删除“属性”或“设置”或“全屏”按钮(在调试模式下,我将这些控件视为空值)。这是我的代码:
var viewerDiv = document.getElementById('MyViewerDiv');
viewer = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv);
const onExtensionLoaded = (e) => {
if (e.extensionId === 'Autodesk.DefaultTools.NavTools') {
const settingsTools = viewer.toolbar.getControl('settingsTools')
settingsTools.removeControl('toolbar-modelStructureTool') //That's ok!
settingsTools.removeControl('toolbar-propertiesTool') //NOT FUNCTIONING
const settingsButton = settingsTools.getControl('toolbar-propertiesTool') //It remains as null when debugging
settingsTools.removeControl(settingsButton)
settingsTools.removeControl('toolbar-settingsTool') //NOT FUNCTIONING
settingsTools.removeControl('toolbar-fullscreenTool') //NOT FUNCTIONING
viewer.removeEventListener(
Autodesk.Viewing.EXTENSION_LOADED_EVENT,
onExtensionLoaded)
}
}
viewer.addEventListener(Autodesk.Viewing.EXTENSION_LOADED_EVENT, onExtensionLoaded)
viewer.start(svfUrl, modelOptions, onLoadModelSuccess, onLoadModelError);
我知道我可以隐藏整个settingsTool,但是当对Property / Settings / Fullscreen按钮显示为true时,我也遇到相同的问题。似乎在调试代码时控件仍然为空。
请帮我面对“ settingsTools”工具栏中的最后3个按钮吗? 本质上,我试图了解查看器的全局自定义,删除UI中的所有内容并不是我的目的:)
谢谢!
答案 0 :(得分:0)
何时删除特定按钮取决于某个扩展程序是否创建了该按钮,如果是,则取决于哪个扩展程序。
Philippe的答案所涉及的“ toolbar-firstPersonTool ”按钮是由“ Autodesk.FirstPerson ”扩展创建的,因此我们可以只听该扩展的加载。
但是,您感兴趣的按钮(例如“ toolbar-modelStructureTool ”)是“内置”的,不是由扩展程序创建的。因此,您必须收听另一个事件,如此博客文章所示,为“ TOOLBAR_CREATED_EVENT ”: When to remove toolbar buttons