void item_Selected(object sender, RoutedEventArgs e) { OutlinerItemModel selected = (OutlinerItemModel)outlinerTreeView.SelectedItem; if (selected.ObjectType == "Mesh") { mainWindow.GetSceneObjectProperties(selected.Name); } }
private void OnKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Delete) { OutlinerItemModel sObjModel = outlinerTreeView.SelectedItem as OutlinerItemModel; mainWindow.RemovePropertiesPanel(); IGCore.DeleteSceneObject(sObjModel.Name); Refresh(); } }
public void SetSceneObjects() { outlinerTreeView.Items.Clear(); List <OutlinerItemModel> root = new List <OutlinerItemModel>(); OutlinerItemModel scene = new OutlinerItemModel(); scene.Name = "Test_Scene"; scene.Icon = outlinerIcons["Scene"]; scene.Children = GetAllSceneObjectsInScene(); scene.ObjectType = "Scene"; root.Add(scene); outlinerTreeView.ItemsSource = root; }
private OutlinerItemModel GetItemModelByName(string itemName) { foreach (object item in outlinerTreeView.Items) { OutlinerItemModel model = item as OutlinerItemModel; if (model.Name == itemName) { return(model); } OutlinerItemModel ret = GetItemModelInBranchByName(model, itemName); if (ret != null) { return(ret); } } return(null); }
private OutlinerItemModel GetItemModelInBranchByName(OutlinerItemModel branch, string itemName) { foreach (OutlinerItemModel item in branch.Children) { if (item.Name == itemName) { return(item); } foreach (OutlinerItemModel child in item.Children) { OutlinerItemModel ret = GetItemModelInBranchByName(child, itemName); if (ret != null) { return(ret); } } } return(null); }
List <OutlinerItemModel> GetAllSceneObjectsInScene() { List <OutlinerItemModel> sObjects = new List <OutlinerItemModel>(); int numObj = IGCore.GetSceneObjectNum(); for (int i = 0; i < numObj; i++) { IntPtr pName = IGCore.GetSceneObjectName(i); string objName = Marshal.PtrToStringUni(pName); //string objName = Marshal.PtrToStringAnsi(pName); OutlinerItemModel obj = new OutlinerItemModel(); obj.Icon = outlinerIcons["Mesh"]; obj.Name = objName; obj.Children = new List <OutlinerItemModel>(); obj.ObjectType = "Mesh"; sObjects.Add(obj); } return(sObjects); }
public void GetSceneObjects() { //outlinerTreeView.Items.Clear(); outlinerTreeView.ItemsSource = null; List <OutlinerItemModel> root = new List <OutlinerItemModel>(); OutlinerItemModel scene = new OutlinerItemModel(); scene.Name = "Scene"; scene.Icon = outlinerIcons["Scene"]; scene.Children = GetAllSceneObjectsInScene(); scene.ObjectType = "Scene"; root.Add(scene); outlinerTreeView.ItemsSource = root; TreeViewItem rootItem = (TreeViewItem)outlinerTreeView.ItemContainerGenerator.ContainerFromItem(scene); rootItem.IsExpanded = true; }
private void CreateSceneObject(string meshUniqueName) { string sObjName = string.Empty; for (int i = 0; ; i++) { string tryName = "NewSceneObject"; if (i > 0) { tryName = tryName + "_" + Convert.ToString(i); } if (!IGCore.SceneObjectExists(tryName)) { sObjName = tryName; break; } } IGCore.CreateSceneObject(sObjName, meshUniqueName); GetSceneObjects(); OutlinerItemModel newModel = null; foreach (object item in outlinerTreeView.Items) { OutlinerItemModel model = item as OutlinerItemModel; if (model.Name == sObjName) { newModel = model; break; } } if (newModel != null) { //TreeViewItem tvi = (TreeViewItem)outlinerTreeView.ItemContainerGenerator.ContainerFromItem(newModel); //tvi.Focus(); } //mainWindow.GetSceneObjectProperties(sObjName); }