protected override void RemoveItem(int index) { StudyNode node = base[index].Node; _map[node].PropertyChanged -= Item_PropertyChanged; _map.Remove(node); _collection.Remove(node); base.RemoveItem(index); }
internal StudyItem GetByUid(DicomAttributeCollection dataSet) { StudyNode node = _collection.GetStudyByUid(dataSet); if (!_map.ContainsKey(node)) { base.Add(new StudyItem(node)); } return(_map[node]); }
protected override DragDropOption PerformDropForeignItems(IList <IGalleryItem> droppingItems, IGalleryItem targetItem, DragDropOption actions, ModifierFlags modifiers) { StudyItem study = (StudyItem)targetItem; DragDropOption action = DragDropOption.None; foreach (IGalleryItem droppingItem in droppingItems) { if (droppingItem is SeriesItem) { SeriesItem series = (SeriesItem)droppingItem; if (modifiers == ModifierFlags.None) { if (!study.Series.Contains(series)) { study.Series.Add(series.Copy()); action = DragDropOption.Move; } } else if (modifiers == ModifierFlags.Shift) { study.Series.Add(series.Copy()); action = DragDropOption.Copy; } } else if (droppingItem is ImageItem) { ImageItem image = (ImageItem)droppingItem; if (modifiers == ModifierFlags.None) { SeriesNode seriesNode = (SeriesNode)GetNodeAncestor(image.Node, 1); StudyNode studyNode = (StudyNode)GetNodeAncestor(seriesNode, 1); if (study.Node != studyNode) { SeriesItem series = new SeriesItem(seriesNode.Copy(false)); series.Images.Add(image.Copy()); series.UpdateIcon(); study.Series.Add(series); action = DragDropOption.Move; } } else if (modifiers == ModifierFlags.Shift) { SeriesNode seriesNode = (SeriesNode)GetNodeAncestor(image.Node, 1); SeriesItem series = new SeriesItem(seriesNode.Copy(false)); series.Images.Add(image.Copy()); series.UpdateIcon(); study.Series.Add(series); action = DragDropOption.Copy; } } } return(action); }
public void setCurrentNode(StudyNode s) { csv_output.Add(currentTask + "," + s.getID() + "," + currentStudyNode.getTime_Taken()); if (stageI < 3) { studyPrompt.moveUI(currentStudyNode.transform.position); } currentStudyNode.resetTime(); currentStudyNode = s; closeBtns[0].setStudyNode(s); closeBtns[1].setStudyNode(s); taskNum++; }
protected override void SetItem(int index, StudyItem item) { StudyNode oldNode = base[index].Node; StudyNode newNode = item.Node; _map.Add(newNode, item); _map[oldNode].PropertyChanged -= Item_PropertyChanged; _map.Remove(oldNode); _collection.Remove(oldNode); _collection.Add(newNode); item.PropertyChanged += Item_PropertyChanged; base.SetItem(index, item); }
protected override void InsertItem(int index, StudyItem item) { StudyNode node = item.Node; _map.Add(node, item); if (!_collection.Contains(node)) // this method is also called when initializing the list from the collection, so we need to check this to avoid re-adding { _collection.Add(node); } base.InsertItem(index, item); item.PropertyChanged += Item_PropertyChanged; }
void OnTriggerExit(Collider other) { if (userStudyRunning == false) { if (other.tag == "Document") { documentText = null; foreach (Transform t in transform.GetChild(0).GetComponentInChildren <Transform>()) { t.gameObject.layer = 0; } } if (other.tag == "SaveBox") { Cardboard_Box_Behaviour box = other.GetComponent <Cardboard_Box_Behaviour>(); if (node != null) { box.outBox(); if (node.transform.tag != "SaveBox" && node.transform.tag != "SaveButton") { node.transform.position = pickedUpNodePos; box.AddNode(node.GetComponent <VisualNode>()); } } } if (other.tag == "SaveButton") { Box_SaveButton btn = other.GetComponent <Box_SaveButton>(); save_button = null; btn.ExitHighlight(); print("left save button"); } } if (other.tag == "StudyNode") { StudyNode s = other.gameObject.GetComponent <StudyNode>(); s.highlight_studynode = true; } if (other.tag == "NavigationCamera") { node = other.transform.parent; } if (node == null && other.tag != "SaveButton" && userStudyRunning == false) { node = other.transform.parent; } }
void OnTriggerEnter(Collider other) { if (userStudyRunning == false) { if (other.tag == "Document") { documentText = other.GetComponent <Document_Behaviour>().scollableText(); foreach (Transform t in transform.GetChild(0).GetComponentInChildren <Transform>()) { t.gameObject.layer = 5; } } if (other.tag == "SaveBox") { Cardboard_Box_Behaviour box = other.GetComponent <Cardboard_Box_Behaviour>(); if (node != null) { box.inBox(); } } if (other.tag == "SaveButton") { Box_SaveButton btn = other.GetComponent <Box_SaveButton>(); save_button = btn; btn.Highlight(); print("selected save button"); } } if (other.tag == "StudyNode") { StudyNode s = other.gameObject.GetComponent <StudyNode>(); s.highlight(); s.createEdges(); print("Found Study Node and Method should be called"); } if (other.tag == "NavigationCamera") { node = other.transform.parent; nodeParent = other.transform.parent.parent; } if (node == null && other.tag != "SaveButton" && userStudyRunning == false) { node = other.transform.parent; } //print(other.transform +" triggered"); }
public void setStudyNode(StudyNode s) { this.s = s; nodeID = s.getID(); }
// Update is called once per frame void Update() { if (graph.graphIsClustered() && !stop) { int pickNumber = studyAssign.DataArray[0]; vis_nodes = graph.returnGraphNodes(); // SimpleFind simpleFindAsset = simpleFind[pickNumber]; string s = simpleFindAsset.text.Replace("\r", "\n"); string[] lines = s.Split("\n"[0]); for (int i = 0; i < lines.Length; i++) { if (lines[i].Equals(string.Empty) == false) { simpleFindNodes.Add(search(lines[i])); } } //ComplexFind pickNumber = studyAssign.DataArray[1]; complexFindAsset = complexFind[pickNumber]; s = complexFindAsset.text.Replace("\r", "\n"); lines = s.Split("\n"[0]); for (int i = 0; i < lines.Length; i++) { if (lines[i].Equals(string.Empty) == false) { complexFindNodes.Add(search(lines[i])); } } //CircleCount pickNumber = studyAssign.DataArray[2]; circleCountAsset = circleCount[pickNumber]; s = circleCountAsset.text.Replace("\r", "\n"); lines = s.Split("\n"[0]); for (int i = 0; i < lines.Length; i++) { if (lines[i].Equals(string.Empty) == false) { circleCountNodes.Add(search(lines[i])); } } //AssocCount pickNumber = studyAssign.DataArray[3]; assocCountAsset = AssocCount[pickNumber]; s = assocCountAsset.text.Replace("\r", "\n"); lines = s.Split("\n"[0]); for (int i = 0; i < lines.Length; i++) { if (lines[i].Equals(string.Empty) == false) { AssocCountNodes.Add(search(lines[i])); } } stop = true; } if (graph.graphIsClustered() && stop == true) { // set positions for nodes (simple nodes) if (studyStage == 1 && simpleStart == false) { currentTask = "Simple Find"; for (int i = 0; i < simpleFindNodes.Count; i++) { VisualNode v = (VisualNode)simpleFindNodes[i]; studyNodes[i].transform.position = v.transform.position; studyNodes[i].setTarget(v); if (i == 0) { currentStudyNode = studyNodes[i]; currentStudyNode.gameObject.SetActive(true); closeBtns[0].setStudyNode(currentStudyNode); closeBtns[1].setStudyNode(currentStudyNode); } else { studyNodes[i - 1].setNext(studyNodes[i]); studyNodes[i].gameObject.SetActive(false); } } simpleStart = true; } // set positions for nodes (complex nodes) if (studyStage == 2 && complexStart == false) { currentTask = "Complex Find"; for (int i = 0; i < complexFindNodes.Count; i++) { VisualNode v = (VisualNode)complexFindNodes[i]; studyNodes[i].transform.position = v.transform.position; studyNodes[i].setTarget(v); if (i == 0) { currentStudyNode = studyNodes[i]; currentStudyNode.gameObject.SetActive(true); closeBtns[0].setStudyNode(currentStudyNode); closeBtns[1].setStudyNode(currentStudyNode); } else { studyNodes[i - 1].setNext(studyNodes[i]); studyNodes[i].gameObject.SetActive(false); } } complexStart = true; } // set positions for nodes (circle nodes) if (studyStage == 3 && circleStart == false) { currentTask = "Circle Find"; for (int i = 0; i < circleCountNodes.Count; i++) { VisualNode v = (VisualNode)circleCountNodes[i]; studyNodes[i].transform.position = v.transform.position; studyNodes[i].setTarget(v); if (i == 0) { currentStudyNode = studyNodes[i]; currentStudyNode.gameObject.SetActive(true); closeBtns[0].setStudyNode(currentStudyNode); closeBtns[1].setStudyNode(currentStudyNode); } else { studyNodes[i - 1].setNext(studyNodes[i]); studyNodes[i].gameObject.SetActive(false); } } circleStart = true; } // set positions for nodes (circle nodes) if (studyStage == 4 && assocStart == false) { currentTask = "Association Find"; for (int i = 0; i < AssocCountNodes.Count; i++) { VisualNode v = (VisualNode)AssocCountNodes[i]; studyNodes[i].transform.position = v.transform.position; studyNodes[i].setTarget(v); if (i == 0) { currentStudyNode = studyNodes[i]; currentStudyNode.gameObject.SetActive(true); closeBtns[0].setStudyNode(currentStudyNode); closeBtns[1].setStudyNode(currentStudyNode); } else { studyNodes[i - 1].setNext(studyNodes[i]); studyNodes[i].gameObject.SetActive(false); } } assocStart = true; } } if (testCSVOutput) { createCSV(); testCSVOutput = false; } if (studyAssign != null) { splashTime -= Time.deltaTime; if (splashTime > 0) { if (studyAssign.initialLoad > 1) { splashText.text = studyAssign.currentNavigation; } else { splashText.text = "INITIAL LOAD TEST"; } } else { splashText.text = ""; } if (studyAssign.currentNavigation.Equals("WM") == false) { wim.gameObject.SetActive(false); } } }
public void setNext(StudyNode next) { this.next = next; }