Кнопка «Удалить инструменты» из настроек ForgeTools Toolbar - PullRequest
2 голосов
/ 10 марта 2019

Я хотел бы удалить некоторые кнопки с панели инструментов Forge.

До сих пор я использовал код @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);

Я знаю, что могу скрыть все настройки инструмента, но у меня возникает та же проблема, когда отображается значение true для кнопки «Свойство / Настройки» / «Полноэкранный режим». Похоже, снова элемент управления остается нулевым при отладке кода.

Пожалуйста, не могли бы вы помочь мне с 3 последними кнопками на панели инструментов 'settingsTools'? По сути, я пытаюсь понять глобальную настройку средства просмотра, удаление всего в пользовательском интерфейсе не моя цель:)

Спасибо !!

1 Ответ

0 голосов
/ 11 марта 2019

Когда удалить определенную кнопку, зависит от того, было ли это создано расширением, и если да, то какое расширение.

Кнопка " toolbar-firstPersonTool ", о которой говорит ответ Филиппа, создается расширением " Autodesk.FirstPerson ", поэтому мы можем просто прослушивать загрузку этого расширения.

Однако кнопки, которые вас интересуют, например, " toolbar-modelStructureTool ", являются "встроенными" и не создаются расширением. Поэтому вам нужно прослушать другое событие, " TOOLBAR_CREATED_EVENT ", как показано в этом сообщении в блоге: Когда удалять кнопки панели инструментов

...