Пример #1
0
        public ExerciseExecutionForm(ExerciseComplex Complex)
        {
            this.Complex           = new ExerciseComplex(Complex.MuscleGroup);
            this.Complex.Exercises = Complex.Exercises.Where(item => item == item).ToList();
            Timer = new DispatcherTimer(new TimeSpan(0, 0, 1), DispatcherPriority.Normal, QuantityOnTick, Dispatcher.CurrentDispatcher);
            Title = Info.locale.ExerciseExecutionFormText[0] + this.Complex.MuscleGroup;

            CurrentExercise = new Exercise(Complex.Exercises[0]);
            ExerciseIndex   = this.Complex.Exercises.FindIndex(new Predicate <Exercise>(item => item == Complex.Exercises[0]));
            Content         = BuildExercise(Complex.Exercises[0]);
        }
        public ExerciseComplex[] AddComplexRU()
        {
            Info.locale.Type = "ru";
            Info.locale.GenerateText();
            Methods.RefreshPath();
            var temp = Methods.SynthesizeComplexes();

            ExerciseComplex[] Result = new ExerciseComplex[temp.Length + 1];
            for (int i = 0; i < temp.Length; ++i)
            {
                Result[i] = temp[i];
            }
            Result[Result.Length - 1] = new ExerciseComplex(NameRU)
            {
                Exercises = new System.Collections.Generic.List <Exercise>()
            };
            Result[Result.Length - 1].Exercises.Add(new Exercise(Info.locale.AddComplexFormText[4],
                                                                 Info.locale.AddComplexFormText[5], 1, false, ""));
            Methods.RewriteExercises(Result);
            return(Result);
        }
        public ExerciseComplexForm(string Title, ExerciseComplex ComplexArgument, int ComplexIndex)
        {
            ScrollViewer Scroll = new ScrollViewer();

            Scroll.HorizontalScrollBarVisibility = ScrollBarVisibility.Visible;
            this.ComplexIndex = ComplexIndex;
            this.Title        = Title;
            Grid grid = new Grid();

            grid.HorizontalAlignment = HorizontalAlignment.Center;

            for (int i = 0; i < 9; ++i)
            {
                ColumnDefinition Column = new ColumnDefinition();
                if (i != 2)
                {
                    Column.Width = new GridLength(150, GridUnitType.Pixel);
                }
                else
                {
                    Column.Width = new GridLength(500, GridUnitType.Pixel);
                }
                grid.ColumnDefinitions.Add(Column);
            }

            for (int i = 0; i < ComplexArgument.Exercises.Count; ++i)
            {
                RowDefinition Row = new RowDefinition();
                Row.Height = new GridLength(50, GridUnitType.Pixel);
                grid.RowDefinitions.Add(Row);

                #region Type
                Button Type = new Button();
                Type.Content = ComplexArgument.Exercises[i].Type;

                grid.Children.Add(Type);
                Grid.SetRow(Type, i);
                Grid.SetColumn(Type, 0);
                #endregion

                #region Up
                Button Up = new Button();
                Up.Content = "↑";
                Up.Tag     = i;
                Up.Click  += UpOnClick;

                grid.Children.Add(Up);
                Grid.SetRow(Up, i);
                Grid.SetColumn(Up, 1);
                #endregion

                #region Name
                Button Name = new Button();
                Name.Content = ComplexArgument.Exercises[i].Name;

                grid.Children.Add(Name);
                Grid.SetRow(Name, i);
                Grid.SetColumn(Name, 2);
                #endregion

                #region Down
                Button Down = new Button();
                Down.Content = "↓";
                Down.Tag     = i;
                Down.Click  += DownOnClick;

                grid.Children.Add(Down);
                Grid.SetRow(Down, i);
                Grid.SetColumn(Down, 3);
                #endregion

                #region Plus
                Button Plus = new Button();
                Plus.Content = "+";
                Plus.Tag     = i;
                Plus.Click  += PlusOnClick;

                grid.Children.Add(Plus);
                Grid.SetRow(Plus, i);
                Grid.SetColumn(Plus, 4);
                #endregion

                #region Number
                Button Number = new Button();
                Number.Content = ComplexArgument.Exercises[i].Quantity;

                grid.Children.Add(Number);
                Grid.SetRow(Number, i);
                Grid.SetColumn(Number, 5);
                #endregion

                #region Minus
                Button Minus = new Button();
                Minus.Content = "-";
                Minus.Tag     = i;
                Minus.Click  += MinusOnClick;

                grid.Children.Add(Minus);
                Grid.SetRow(Minus, i);
                Grid.SetColumn(Minus, 6);
                #endregion

                #region Remove
                Button Remove = new Button();
                Remove.Content = Info.locale.ExerciseComplexFormText[0];
                Remove.Tag     = i;
                Remove.Click  += RemoveOnClick;

                grid.Children.Add(Remove);
                Grid.SetRow(Remove, i);
                Grid.SetColumn(Remove, 7);
                #endregion
            }


            #region Add
            RowDefinition RowAdd = new RowDefinition();
            RowAdd.Height = new GridLength(50, GridUnitType.Pixel);
            grid.RowDefinitions.Add(RowAdd);

            Button Add = new Button();
            Add.Content = Info.locale.ExerciseComplexFormText[1];
            Add.Click  += AddOnClick;

            grid.Children.Add(Add);

            Grid.SetRow(Add, ComplexArgument.Exercises.Count);
            Grid.SetColumnSpan(Add, 8);
            #endregion

            #region Return
            RowDefinition RowReturn = new RowDefinition();
            RowReturn.Height = new GridLength(50, GridUnitType.Pixel);
            grid.RowDefinitions.Add(RowReturn);

            Button Return = new Button();
            Return.Content = Info.locale.ExerciseComplexFormText[2];
            Return.Click  += ReturnOnClick;

            grid.Children.Add(Return);

            Grid.SetRow(Return, ComplexArgument.Exercises.Count + 1);
            Grid.SetColumnSpan(Return, 8);
            #endregion
            Scroll.Content = grid;

            Content = Scroll;
            Focus();
        }