private void RemoveItemButton_OnClick() { foreach (MotionItemBase item in MotionTreeView.SelectedItemSet.ToArray().Select(item => ((MotionItemBaseView)item).Data)) { MotionTreeView.SelectedItemSet.RemoveSelectedItem(DataToViewDict[item]); EditingFile.RemoveItem(item); } }
public void DuplicateSelectedMotion() { if (!IsSelectedItemCopyable) { return; } MotionItemBase latestNewItem = null; MotionFolderItem parentFolder = SelectedItemParent; foreach (MotionItemBaseView refItem in MotionTreeView.SelectedItemSet) { if (refItem.Type == MotionItemType.Motion) { MotionItem refMotionItem = (MotionItem)refItem.Data; //Create motion MotionItem newItem = EditingFile.CreateMotionEmpty(parentFolder); latestNewItem = newItem; //Copy points foreach (MotionPoint refPoint in refMotionItem.pointList) { MotionPoint point = new MotionPoint(); newItem.AddPoint(point); point.SetMainPoint(refPoint.MainPoint); for (int i = 0; i < refPoint.SubPoints.Length; ++i) { point.SetSubPoint(i, refPoint.SubPoints[i]); } } ((MotionItemView)DataToViewDict[newItem]).UpdatePreviewGraph(); //Set name const string CopyPostfix = "_Copy"; string name = refItem.Data.Name; for (; ;) { if (EditingFile.itemDict.ContainsKey(name)) { name += CopyPostfix; } else { break; } } newItem.SetName(name); } } if (latestNewItem != null) { MotionTreeView.SelectedItemSet.SetSelectedItem(DataToViewDict[latestNewItem]); } }
private void CreateFolderButton_OnClick() { MotionFolderItem item = EditingFile.CreateFolder(SelectedItemParent); MotionTreeView.SelectedItemSet.SetSelectedItem((MotionFolderItemView)DataToViewDict[item]); }
private void CreateItemButton_OnClick() { MotionItem item = EditingFile.CreateMotionDefault(SelectedItemParent); MotionTreeView.SelectedItemSet.SetSelectedItem((MotionItemView)DataToViewDict[item]); }