Show fit and show/hide button for all meshes in the navigator.

This commit is contained in:
kovacsv 2021-11-04 08:42:49 +01:00
parent 1fe87962bb
commit 5e6312b236
2 changed files with 21 additions and 16 deletions

View File

@ -231,23 +231,28 @@ OV.Navigator = class
parentItem.AddChild (meshItem); parentItem.AddChild (meshItem);
} }
function CreateNodeItem (navigator, name, icon, node)
{
const nodeName = OV.GetNodeName (name);
const nodeId = node.GetId ();
let nodeItem = new OV.NodeItem (nodeName, icon, nodeId, {
onShowHide : (selectedNodeId) => {
navigator.ToggleNodeVisibility (selectedNodeId);
},
onFitToWindow : (selectedNodeId) => {
navigator.FitNodeToWindow (selectedNodeId);
}
});
navigator.navigatorItems.AddNodeItem (nodeId, nodeItem);
return nodeItem;
}
function AddModelNodeToTree (navigator, model, node, parentItem) function AddModelNodeToTree (navigator, model, node, parentItem)
{ {
for (let childNode of node.GetChildNodes ()) { for (let childNode of node.GetChildNodes ()) {
if (OV.FeatureSet.NavigatorTree) { if (OV.FeatureSet.NavigatorTree) {
const nodeName = OV.GetNodeName (childNode.GetName ()); let nodeItem = CreateNodeItem (navigator, node.GetName (), null, childNode);
const nodeId = childNode.GetId ();
let nodeItem = new OV.NodeItem (nodeName, nodeId, {
onShowHide : (selectedNodeId) => {
navigator.ToggleNodeVisibility (selectedNodeId);
},
onFitToWindow : (selectedNodeId) => {
navigator.FitNodeToWindow (selectedNodeId);
}
});
navigator.navigatorItems.AddNodeItem (nodeId, nodeItem);
parentItem.AddChild (nodeItem); parentItem.AddChild (nodeItem);
nodeItem.ShowChildren (true, null);
AddModelNodeToTree (navigator, model, childNode, nodeItem); AddModelNodeToTree (navigator, model, childNode, nodeItem);
} else { } else {
AddModelNodeToTree (navigator, model, childNode, parentItem); AddModelNodeToTree (navigator, model, childNode, parentItem);
@ -259,11 +264,11 @@ OV.Navigator = class
} }
} }
let meshesItem = new OV.TreeViewGroupItem ('Meshes', 'meshes'); let rootNode = model.GetRootNode ();
let meshesItem = CreateNodeItem (this, 'Meshes', 'meshes', rootNode);
this.treeView.AddItem (meshesItem); this.treeView.AddItem (meshesItem);
meshesItem.ShowChildren (true, null); meshesItem.ShowChildren (true, null);
let rootNode = model.GetRootNode ();
AddModelNodeToTree (this, model, rootNode, meshesItem); AddModelNodeToTree (this, model, rootNode, meshesItem);
} }

View File

@ -61,9 +61,9 @@ OV.MeshItem = class extends OV.TreeViewButtonItem
OV.NodeItem = class extends OV.TreeViewGroupButtonItem OV.NodeItem = class extends OV.TreeViewGroupButtonItem
{ {
constructor (name, nodeId, callbacks) constructor (name, icon, nodeId, callbacks)
{ {
super (name, null); super (name, icon);
this.fitToWindowButton = new OV.TreeViewButton ('fit'); this.fitToWindowButton = new OV.TreeViewButton ('fit');
this.fitToWindowButton.OnClick (() => { this.fitToWindowButton.OnClick (() => {