Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        internal StudyItem GetByUid(DicomAttributeCollection dataSet)
        {
            StudyNode node = _collection.GetStudyByUid(dataSet);

            if (!_map.ContainsKey(node))
            {
                base.Add(new StudyItem(node));
            }
            return(_map[node]);
        }
Ejemplo n.º 3
0
            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++;
 }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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;
 }