Esempio n. 1
0
        public override void InitializeOnStart()
        {
            base.InitializeOnStart();

            view    = GetComponent <MarkerView>();
            usecase = new MarkerUseCases(compositeDisposables);

            view.Initialize();
            view.OnAnchored
            .Where(_ => usecase.CurrentChapter == Model.Engine.Scenario.Chapter.MarkerTracking)
            .Do(p =>
            {
                usecase.SetReferencePoint(p);
                usecase.TransitScenario();
            })
            .Subscribe()
            .AddTo(this);

            usecase.OnAfterTransitScenario
            .Do(_ =>
            {
                MessageView.Instance.WriteMessage("マーカーをタップしてください");
                view.Enable();
            })
            .Subscribe()
            .AddTo(this);

            usecase.OnBeforeTransitScenario
            .Do(_ => view.Disable())
            .Subscribe()
            .AddTo(this);
        }
        public void ConstructorSetsMarkerPropertyForValidMarker()
        {
            var marker     = DomainEntities.Marker1;
            var markerView = new MarkerView(marker);

            Assert.AreEqual(marker, markerView.Marker);
        }
Esempio n. 3
0
        public void AddMarker(int frame, bool editText = false)
        {
            if (editText)
            {
                var i = new InputPrompt
                {
                    Text          = $"Marker for frame {frame}",
                    TextInputType = InputPrompt.InputType.Text,
                    Message       = "Enter a message",
                    InitialValue  =
                        Markers.IsMarker(frame) ?
                        Markers.PreviousOrCurrent(frame).Message :
                        ""
                };

                var point = Cursor.Position;
                point.Offset(i.Width / -2, i.Height / -2);

                var result = i.ShowHawkDialog(position: point);
                if (result.IsOk())
                {
                    Markers.Add(new TasMovieMarker(frame, i.PromptText));
                    UpdateTextColumnWidth();
                    UpdateValues();
                }
            }
            else
            {
                Markers.Add(new TasMovieMarker(frame));
                UpdateValues();
            }

            MarkerView.ScrollToIndex(Markers.Count - 1);
            Tastudio.RefreshDialog();
        }
            public override View GetSelectedView(GeoElement p0)
            {
                ImageView imageView = (ImageView)MarkerView.FindViewById(Resource.Id.image);

                imageView.SetImageResource(Resource.Drawable.map_marker_dark_green);
                imageView.Invalidate();
                return(MarkerView);
            }
Esempio n. 5
0
        public void UpdateValues()
        {
            if (MarkerView != null && Tastudio?.CurrentTasMovie != null && Markers != null)
            {
                MarkerView.RowCount = Markers.Count;
            }

            MarkerView.Refresh();
        }
Esempio n. 6
0
        public override View GetView(GeoElement p0)
        {
            ImageView imageView = (ImageView)MarkerView.FindViewById(Resource.Id.image);
            var       o         = RecognitionPageRenderer.Objects.FirstOrDefault(x => x.Data.Id.ToString() == p0.Id);
            var       bitmap    = BitmapFactory.DecodeByteArray(o.ImageBytes, 0, o.ImageBytes.Length);

            imageView.SetImageBitmap(bitmap);
            imageView.Invalidate();
            return(MarkerView);
        }
Esempio n. 7
0
 // feos: not the same as InputRoll.TruncateSelection(), since multiple selection of markers is forbidden
 // moreover, when the last marker is removed, we need its selection to move to the previous marker
 // still iterate, so things don't break if multiple selection is allowed someday
 public void ShrinkSelection()
 {
     if (MarkerView.AnyRowsSelected)
     {
         while (MarkerView.SelectedRows.Last() > Markers.Count - 1)
         {
             MarkerView.SelectRow(Markers.Count, false);
             MarkerView.SelectRow(Markers.Count - 1, true);
         }
     }
 }
Esempio n. 8
0
        public void UpdateTextColumnWidth()
        {
            if (Markers.Any())
            {
                var longestBranchText = Markers
                                        .OrderBy(b => b.Message?.Length ?? 0)
                                        .Last()
                                        .Message;

                MarkerView.ExpandColumnToFitText("LabelColumn", longestBranchText);
            }
        }
Esempio n. 9
0
        public void AddMarker(int frame, bool editText = false)
        {
            TasMovieMarker marker;

            if (editText)
            {
                var i = new InputPrompt
                {
                    Text          = $"Marker for frame {frame}",
                    TextInputType = InputPrompt.InputType.Text,
                    Message       = "Enter a message",
                    InitialValue  =
                        Markers.IsMarker(frame) ?
                        Markers.PreviousOrCurrent(frame).Message :
                        ""
                };

                var point = Cursor.Position;
                point.Offset(i.Width / -2, i.Height / -2);
                i.StartPosition = FormStartPosition.Manual;
                i.Location      = point;

                if (!this.ShowDialogWithTempMute(i).IsOk())
                {
                    return;
                }

                UpdateTextColumnWidth();
                marker = new TasMovieMarker(frame, i.PromptText);
            }
            else
            {
                marker = new TasMovieMarker(frame);
            }

            UpdateValues();
            Markers.Add(marker);
            var index = Markers.IndexOf(marker);

            MarkerView.MakeIndexVisible(index);
            Tastudio.RefreshDialog();
        }
Esempio n. 10
0
        public void AddMarker(bool editText = false, int?frame = null)
        {
            // feos: we specify the selected frame if we call this from TasView, otherwise marker should be added to the emulated frame
            var markerFrame = frame ?? Tastudio.Emulator.Frame;

            if (editText)
            {
                var i = new InputPrompt
                {
                    Text          = $"Marker for frame {markerFrame}",
                    TextInputType = InputPrompt.InputType.Text,
                    Message       = "Enter a message",
                    InitialValue  =
                        Markers.IsMarker(markerFrame) ?
                        Markers.PreviousOrCurrent(markerFrame).Message :
                        ""
                };

                var point = Cursor.Position;
                point.Offset(i.Width / -2, i.Height / -2);

                var result = i.ShowHawkDialog(position: point);
                if (result == DialogResult.OK)
                {
                    Markers.Add(new TasMovieMarker(markerFrame, i.PromptText));
                    UpdateTextColumnWidth();
                    UpdateValues();
                }
            }
            else
            {
                Markers.Add(new TasMovieMarker(markerFrame));
                UpdateValues();
            }

            MarkerView.ScrollToIndex(Markers.Count - 1);
            Tastudio.RefreshDialog();
        }
Esempio n. 11
0
 public void Restart()
 {
     SetupColumns();
     MarkerView.RowCount = Markers.Count;
     MarkerView.Refresh();
 }
Esempio n. 12
0
 public void Restart()
 {
     MarkerView.DeselectAll();
     UpdateValues();
 }
 public void ConstructorThrowsValidationExceptionForInvalidMarker()
 {
     var markerView = new MarkerView(DomainEntities.InvalidMarker);
 }
 public void ConstructorThrowsArgumentNullExceptionForNullMarker()
 {
     var markerView = new MarkerView(null);
 }