Exemplo n.º 1
0
 public override void ActionStart(uint eventTime, Act action)
 {
     ActionTimeLineEvent = new TimeLineEvent("Action", action.Description, eventTime);
     if (ActivityTimeLineEvent != null)
     {
         ActivityTimeLineEvent.AddSubEvent(ActionTimeLineEvent);
     }
 }
Exemplo n.º 2
0
 public override void ActivityStart(uint eventTime, Activity activity, bool continuerun = false)
 {
     ActivityTimeLineEvent = new TimeLineEvent("Activity", activity.ActivityName, eventTime);
     if (BusinessFlowTimeLineEvent != null)
     {
         BusinessFlowTimeLineEvent.AddSubEvent(ActivityTimeLineEvent);
     }
 }
Exemplo n.º 3
0
 public void Reset()
 {
     timeLineEvents.Clear();
     ActivityTimeLineEvent     = null;
     ActionTimeLineEvent       = null;
     BusinessFlowTimeLineEvent = null;
     PrepActionTimeLineEvent   = null;
 }
Exemplo n.º 4
0
        private static void OnObjectChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            TimelineEventControl timelineEventControl = (TimelineEventControl)d;
            TimeLineEvent        timeLineEvent        = ((TimeLineEvent)e.NewValue);

            timelineEventControl.xElapsed.Text = timeLineEvent.Elapsed.ToString();

            timelineEventControl.xLine.X1 = timeLineEvent.Start;
            timelineEventControl.xLine.X2 = timeLineEvent.End;
        }
Exemplo n.º 5
0
    void DrawTimeEvent(TimeLineEvent timeLineEvent)
    {
        timeLineEvent.time = EditorGUILayout.FloatField("BeginTime", timeLineEvent.time);

        timeLineEvent.createGo = EditorGUILayout.ObjectField("CreateObj", timeLineEvent.createGo, typeof(GameObject), true) as GameObject;

        EditorGUILayout.Space();
        EditorGUILayout.Space();
        EditorGUILayout.Space();
    }
Exemplo n.º 6
0
    public IEnumerator BeginTimeLineEvent(TimeLineEvent lineEvent)
    {
        yield return(new WaitForSeconds(lineEvent.time));

        if (lineEvent.createGo != null)
        {
            CreateGo(lineEvent.createGo);
        }
        lineEvent?.act();
    }
Exemplo n.º 7
0
        public TimeLineViewModel(List <ActivityLine> dailyList)
        {
            TimeLine day         = new TimeLine();
            TimeSpan dayDuration = new TimeSpan();
            TimeSpan start;
            string   currentTag;

            currentTag = dailyList[0].Tag;

            start = dailyList[0].StartTime;
            TimeLineEvent runningEvent = new TimeLineEvent(dailyList[0].StartTime);

            runningEvent.Start    = dailyList[0].StartTime;
            runningEvent.Duration = dailyList[0].inAppTime;
            runningEvent.TextData = dailyList[0].ToString() + "\n";
            runningEvent.Color    = dailyList[0].TagColor;

            for (int i = 1; i < dailyList.Count; i++)
            {
                if (currentTag.Equals(dailyList[i].Tag))
                {
                    runningEvent.Duration  = runningEvent.Duration.Add(dailyList[i].inAppTime);
                    runningEvent.TextData += dailyList[i].ToString() + "\n";
                }
                else
                {
                    day.Events.Add(runningEvent);
                    runningEvent          = new TimeLineEvent(dailyList[i].StartTime);
                    currentTag            = dailyList[i].Tag;
                    runningEvent.Start    = dailyList[i].StartTime;
                    runningEvent.Duration = dailyList[i].inAppTime;
                    runningEvent.TextData = dailyList[i].ToString() + "\n";
                    runningEvent.Color    = dailyList[i].TagColor;
                }
            }
            day.Events.Add(runningEvent);
            dayDuration  = dailyList[dailyList.Count - 1].StartTime.Subtract(start);
            day.Duration = dayDuration;
            day.Start    = start;
            day.End      = dailyList[dailyList.Count - 1].StartTime;
            day.SetConstantTimes(day.Start, day.End);
            this.TimeLines.Add(day);
        }
Exemplo n.º 8
0
        private TimeLine JsonToObject(ListTimeLineDto timeLineDto)
        {
            var data = new TimeLine();

            foreach (var time in timeLineDto.events)
            {
                var events       = new TimeLineEvent();
                var productName  = "";
                var productPrice = "";
                foreach (var item in time.custom_data)
                {
                    events.revenue   = time.revenue;
                    events.timestamp = time.timestamp;
                    if (item.key == "transaction_id")
                    {
                        events.transaction_id = item.value;
                    }
                    if (item.key == "store_name")
                    {
                        events.store_name = item.value;
                    }
                    if (item.key == "product_name")
                    {
                        productName = item.value;
                    }
                    if (item.key == "product_price")
                    {
                        productPrice = item.value.ToString();
                    }

                    if (!string.IsNullOrEmpty(productName) && !string.IsNullOrEmpty(productPrice))
                    {
                        var product = new Products(productName, double.Parse(productPrice));
                        events.products.Add(product);
                    }
                }
                data.timeline.Add(events);
            }

            data.timeline = data.timeline.OrderByDescending(x => x.timestamp).ThenBy(t => t.timestamp.TimeOfDay).ToList();
            return(data);
        }
Exemplo n.º 9
0
 public void AddLast(int count)
 {
     Sort();
     if (timeLineEvents.Count > 0)
     {
         for (int i = 0; i < count; i++)
         {
             var timeEvent = new TimeLineEvent()
             {
                 time = timeLineEvents[timeLineEvents.Count - 1].time
             };
             timeLineEvents.Add(timeEvent);
         }
     }
     else
     {
         timeLineEvents.Add(new TimeLineEvent());
         AddLast(count - 1);
     }
 }
Exemplo n.º 10
0
 public void AddEvent(TimeLineEvent timeLineEvent)
 {
     sessionEvents.Add(timeLineEvent);
 }
Exemplo n.º 11
0
        ///////////////////////////////////////////////////////////////////////////////
        // Eventhandler for Custom Defined Events                                    //
        ///////////////////////////////////////////////////////////////////////////////
        #region CUSTOMEVENTHANDLER
        #endregion //CUSTOMEVENTHANDLER

        #endregion //EVENTS

        ///////////////////////////////////////////////////////////////////////////////
        // Methods and Eventhandling for Background tasks                            //
        ///////////////////////////////////////////////////////////////////////////////
        #region BACKGROUNDWORKER
        #endregion //BACKGROUNDWORKER

        ///////////////////////////////////////////////////////////////////////////////
        // Methods for doing main class job                                          //
        ///////////////////////////////////////////////////////////////////////////////
        #region PRIVATEMETHODS

        /// <summary>
        /// Converts the given <see cref="SortedList{Int32,TrialEvent}"/> to
        /// <see cref="TimeLineEvent"/> that are displayed in the timeline.
        /// </summary>
        /// <param name="trialEvents">A <see cref="SortedList{Int32,TrialEvent}"/>
        /// with the trial events to be shown.</param>
        private void SubmitTrialEventsToTimeline(SortedList <int, TrialEvent> trialEvents)
        {
            this.TimeLineEvents.Clear();
            this.TimeLineMarkers.Clear();
            this.slideEvents.Clear();
            this.slideEvents.Add(new TimeLineEvent(0, "Slide", 2f, Color.Blue, TimeLinePosition.Above));

            if (trialEvents.Count > 30 && !this.EventFilterList.Contains("MouseUp"))
            {
                this.EventFilterList.Add("Scroll");
                this.EventFilterList.Add("MouseUp");
                this.EventFilterList.Add("MouseDown");
                this.EventFilterList.Add("KeyDown");
                this.EventFilterList.Add("KeyUp");
                string message = "To provide acceptable performance OGAMA now hides the mouse and scroll events in the time line " +
                                 " at the bottom of the module. You may reactivate them by right-clicking on this timeline.";
                ExceptionMethods.ProcessMessage("Lots of events in that trial ...", message);
            }

            foreach (TrialEvent trialEvent in trialEvents.Values)
            {
                TimeLineEvent newTimeLineEvent = new TimeLineEvent();
                newTimeLineEvent.Time = (int)trialEvent.Time;
                switch (trialEvent.Type)
                {
                case EventType.Mouse:
                    newTimeLineEvent.Position    = TimeLinePosition.Below;
                    newTimeLineEvent.StrokeWidth = 1f;
                    newTimeLineEvent.StrokeColor = Color.Yellow;
                    if (((InputEvent)trialEvent).Task == InputEventTask.Up)
                    {
                        newTimeLineEvent.ImageKey = "MouseUp";
                    }
                    else if (((InputEvent)trialEvent).Task == InputEventTask.Down)
                    {
                        newTimeLineEvent.ImageKey = "MouseDown";
                    }

                    this.TimeLineEvents.Add(newTimeLineEvent);
                    break;

                case EventType.Key:
                    newTimeLineEvent.Position    = TimeLinePosition.Below;
                    newTimeLineEvent.StrokeWidth = 1f;
                    newTimeLineEvent.StrokeColor = Color.YellowGreen;
                    newTimeLineEvent.ImageKey    = "Key";
                    this.TimeLineEvents.Add(newTimeLineEvent);
                    break;

                case EventType.Slide:
                    newTimeLineEvent.Position    = TimeLinePosition.Above;
                    newTimeLineEvent.StrokeWidth = 2f;
                    newTimeLineEvent.StrokeColor = Color.Blue;
                    newTimeLineEvent.ImageKey    = "Slide";
                    this.TimeLineEvents.Add(newTimeLineEvent);
                    this.slideEvents.Add(newTimeLineEvent);
                    break;

                case EventType.Flash:
                    newTimeLineEvent.Position    = TimeLinePosition.Above;
                    newTimeLineEvent.StrokeWidth = 2f;
                    newTimeLineEvent.StrokeColor = Color.Magenta;
                    newTimeLineEvent.ImageKey    = "Flash";
                    this.TimeLineEvents.Add(newTimeLineEvent);
                    break;

                case EventType.Audio:
                    newTimeLineEvent.Position    = TimeLinePosition.Below;
                    newTimeLineEvent.StrokeWidth = 1f;
                    newTimeLineEvent.StrokeColor = Color.Orange;
                    newTimeLineEvent.ImageKey    = "Sound";
                    this.TimeLineEvents.Add(newTimeLineEvent);
                    break;

                case EventType.Video:
                    break;

                case EventType.Webpage:
                    break;

                case EventType.Usercam:
                    break;

                case EventType.Response:
                    newTimeLineEvent.Position    = TimeLinePosition.Above;
                    newTimeLineEvent.StrokeWidth = 2f;
                    newTimeLineEvent.StrokeColor = Color.Blue;
                    newTimeLineEvent.ImageKey    = "Slide";
                    this.TimeLineEvents.Add(newTimeLineEvent);
                    break;

                case EventType.Marker:
                    TimeLineMarker newTimeLineMarker = new TimeLineMarker();
                    newTimeLineMarker.Time        = (int)trialEvent.Time;
                    newTimeLineMarker.EventID     = (int)trialEvent.EventID;
                    newTimeLineMarker.MarkerColor = Color.Yellow;
                    this.TimeLineMarkers.Add(newTimeLineMarker);
                    break;

                case EventType.Scroll:
                    newTimeLineEvent.Position    = TimeLinePosition.Above;
                    newTimeLineEvent.StrokeWidth = 0f;
                    newTimeLineEvent.StrokeColor = Color.Transparent;
                    newTimeLineEvent.ImageKey    = "Scroll";
                    this.TimeLineEvents.Add(newTimeLineEvent);
                    break;
                }
            }

            this.Invalidate();
        }
Exemplo n.º 12
0
 public override void PrepActionStart(uint eventTime, Act action)
 {
     PrepActionTimeLineEvent = new TimeLineEvent("Prep Action", action.Description, eventTime);
     ActivityTimeLineEvent.AddSubEvent(PrepActionTimeLineEvent);
 }
Exemplo n.º 13
0
 public override void BusinessFlowStart(uint eventTime, BusinessFlow businessFlow, bool ContinueRun = false)
 {
     BusinessFlowTimeLineEvent = new TimeLineEvent("BusinessFlow", businessFlow.Name, eventTime);
     timeLineEvents.AddEvent(BusinessFlowTimeLineEvent);
 }
Exemplo n.º 14
0
 public void AddEvent([FromBody] TimeLineEvent test)
 {
     _timeLineRepo.AddEvent(test);
 }
Exemplo n.º 15
0
        public void TimeLineListener()
        {
            //Arrange
            BusinessFlow mBF = new BusinessFlow();

            mBF.Activities = new ObservableList <Activity>();
            mBF.Name       = "BF TEst time-line events listener";
            mBF.Active     = true;
            Activity activitiy1 = new Activity()
            {
                Active = true
            };

            activitiy1.Active = true;
            mBF.Activities.Add(activitiy1);

            ActDummy action1 = new ActDummy()
            {
                Description = "Dummy action 1", Active = true
            };

            activitiy1.Acts.Add(action1);
            mGingerRunner.Executor.BusinessFlows.Add(mBF);


            //Act
            mGingerRunner.Executor.RunBusinessFlow(mBF);

            List <TimeLineEvent> events = mGingerRunnerTimeLine.timeLineEvents.EventList;


            //Assert
            Assert.AreEqual(1, events.Count, "Events count");

            TimeLineEvent businessFlowTimeLineEvent = events[0];

            Assert.IsTrue(businessFlowTimeLineEvent.Start != 0, "Business FlowTimeLine Event.Start !=0");
            Assert.IsTrue(businessFlowTimeLineEvent.End != 0, "Business FlowTimeLine Event.End !=0");
            Assert.AreEqual("BusinessFlow", businessFlowTimeLineEvent.ItemType, "ItemType");

            TimeLineEvent activityTimeLineEvent = businessFlowTimeLineEvent.ChildrenList[0];

            Assert.IsTrue(activityTimeLineEvent.Start != 0, "Activity TimeLine Event.Start !=0");
            Assert.IsTrue(activityTimeLineEvent.End != 0, "Activity TimeLine Event.End !=0");
            Assert.AreEqual("Activity", activityTimeLineEvent.ItemType, "ItemType");

            TimeLineEvent prepActionLineEvent = activityTimeLineEvent.ChildrenList[0];

            Assert.IsTrue(prepActionLineEvent.Start != 0, "PrepAction TimeLine Event.Start !=0");
            Assert.IsTrue(prepActionLineEvent.End != 0, "PrepAction TimeLine Event.End !=0");
            Assert.AreEqual("Prep Action", prepActionLineEvent.ItemType, "ItemType");

            TimeLineEvent actionLineEvent = activityTimeLineEvent.ChildrenList[1];

            Assert.IsTrue(actionLineEvent.Start != 0, "Action TimeLine Event.Start !=0");
            Assert.IsTrue(actionLineEvent.End != 0, "Action TimeLine Event.End !=0");
            Assert.AreEqual("Action", actionLineEvent.ItemType, "ItemType");


            //TODO: add more test that timeline is in boundries of parent
        }
Exemplo n.º 16
0
 public void Add(TimeLineEvent timeEvent)
 {
     timeLineEvents.Add(timeEvent);
     Sort();
 }