示例#1
0
文件: TrailPage.cs 项目: Zepsen/App1
        private ScrollView GenerateMainContentForTrailPage(FullTrail trail)
        {
            var stack = new StackLayout
            {
                Padding         = new Thickness(30, 0),
                BackgroundColor = Color.White,
            };

            stack.Children.Add(GenerateTrailNameLabel(trail.Name));
            stack.Children.Add(GenerateTableForStaticOptions(trail));
            stack.Children.Add(GenerateTableForOptions(trail));

            stack.Children.Add(GenerateUpdateOptionButton());

            stack.Children.Add(GenerateReferencesLabels(trail.References));
            stack.Children.Add(GenericsContent.GenerateTextBlockWithHeader(nameof(trail.Description), trail.Description));
            stack.Children.Add(GenericsContent.GenerateTextBlockWithHeader("Full description", trail.FullDescription));
            stack.Children.Add(GenericsContent.GenerateTextBlockWithHeader("Why go?", trail.WhyGo));

            stack.Children.Add(GenerateCommentsView(trail.Comments));
            stack.Children.Add(GenerateCreatedCommentForm());

            //stack.Children.Add(GenerateMap());

            return(new ScrollView {
                Content = stack
            });
        }
示例#2
0
文件: MainPage.cs 项目: Zepsen/App1
        private StackLayout SetIconsToTrail(Trail trail)
        {
            var icons = new StackLayout
            {
                Orientation       = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.FillAndExpand
            };

            if (trail.DogAllowed)
            {
                icons.Children.Add(GenericsContent.CreateIcon("icon_white_dog_freindly.png"));
            }

            if (trail.GoodForKids)
            {
                icons.Children.Add(GenericsContent.CreateIcon("icon_white_good_for_kids.png"));
            }

            if (!string.IsNullOrEmpty(trail.DurationType))
            {
                icons.Children.Add(GenericsContent.CreateWhiteIconByType(trail.DurationType));
            }


            if (!string.IsNullOrEmpty(trail.Type))
            {
                icons.Children.Add(GenericsContent.CreateWhiteIconByType(trail.Type));
            }

            return(icons);
        }
示例#3
0
文件: TrailPage.cs 项目: Zepsen/App1
        private Button GenerateCommentButton()
        {
            var button = GenericsContent.GenerateDefaultButton("Add");

            button.SetBinding(Button.CommandProperty, CommentsViewModel.CommentCommandPropertyName);
            return(button);
        }
示例#4
0
文件: TrailPage.cs 项目: Zepsen/App1
        private Button GenerateUpdateOptionButton()
        {
            var button = GenericsContent.GenerateDefaultButton("Update");

            AddClickNavToOptionPage(button);

            return(button);
        }
示例#5
0
文件: TrailPage.cs 项目: Zepsen/App1
        private StackLayout GenerateLayoutForCommentHeader(Comments comment)
        {
            var stack = new StackLayout {
                Orientation = StackOrientation.Horizontal
            };

            stack.Children.Add(GenericsContent.GenerateLabelWithLayoutOption(comment.Name, LayoutOptions.Start));
            stack.Children.Add(GenerateStarForCommentMark(comment.Rate));
            return(stack);
        }
示例#6
0
文件: MainPage.cs 项目: Zepsen/App1
 private static Label GenerateDifficultLabelByMainPage(string difficult)
 {
     return(new Label
     {
         Text = difficult,
         VerticalTextAlignment = TextAlignment.Center,
         HorizontalTextAlignment = TextAlignment.Center,
         BackgroundColor = GenericsContent.GetColorForLableByDifficultData(difficult)
     });
 }
示例#7
0
文件: TrailPage.cs 项目: Zepsen/App1
 private Frame GenerateCommentField(string comment)
 {
     return(new Frame
     {
         Content = GenericsContent.GenerateDefaultLabel(comment),
         Padding = new Thickness(10),
         HasShadow = true,
         OutlineColor = Color.Silver,
         BackgroundColor = Color.FromRgba(0, 0, 7, 0.1)
     });
 }
示例#8
0
文件: TrailPage.cs 项目: Zepsen/App1
        private StackLayout GenerateStarForCommentMark(double rate)
        {
            var stack = new StackLayout {
                Orientation = StackOrientation.Horizontal
            };

            for (int i = 0; i < rate; i++)
            {
                stack.Children.Add(GenericsContent.CreateIcon("gold_star_icon.png"));
            }

            return(stack);
        }
示例#9
0
文件: TrailPage.cs 项目: Zepsen/App1
        private Label GenerateDifficultLabel(string diff)
        {
            var backColor = GenericsContent.GetColorForLableByDifficultData(diff);

            return(new Label
            {
                Text = diff,
                TextColor = Color.White,
                BackgroundColor = backColor,
                HorizontalOptions = LayoutOptions.CenterAndExpand,
                VerticalOptions = LayoutOptions.Start
            });
        }
示例#10
0
文件: TrailPage.cs 项目: Zepsen/App1
        private StackLayout GenerateCommentsView(List <Comments> comments)
        {
            var stack = new StackLayout();

            if (comments.Count > 0)
            {
                stack.Children.Add(GenericsContent.GenerateHeaderLabel("Comments"));
                foreach (var comment in comments)
                {
                    stack.Children.Add(GenerateComment(comment));
                }
            }
            return(stack);
        }
示例#11
0
文件: TrailPage.cs 项目: Zepsen/App1
        private StackLayout GenerateHeader()
        {
            var stack = new StackLayout {
                Orientation = StackOrientation.Horizontal
            };

            var mainLabel  = GenericsContent.GetHeaderLabel();
            var loginLabel = GenericsContent.GetHeaderRegistrationLabel();

            AddTapNavToMainPage(mainLabel);
            AddTapNavToLoginPage(loginLabel);

            stack.Children.Add(mainLabel);
            stack.Children.Add(loginLabel);

            return(stack);
        }
示例#12
0
文件: TrailPage.cs 项目: Zepsen/App1
        private StackLayout GenerateReferencesLabels(List <string> references)
        {
            var stack = new StackLayout {
                Orientation = StackOrientation.Vertical
            };

            if (references.Count > 0)
            {
                stack.Children.Add(GenericsContent.GenerateHeaderLabel("Web-sites"));
                foreach (var reference in references)
                {
                    stack.Children.Add(GenerateLinkRef(reference));
                }
                ;
            }

            return(stack);
        }
示例#13
0
文件: MainPage.cs 项目: Zepsen/App1
        private StackLayout GenerateFilterMenu(List <Location> locations)
        {
            var stack = new StackLayout {
                Orientation = StackOrientation.Horizontal
            };

            var allLabel = GenericsContent.GenerateFilterLabels(Filter);

            AddTapForFilter(allLabel);
            stack.Children.Add(allLabel);

            foreach (var item in locations)
            {
                var label = GenericsContent.GenerateFilterLabels(item.Region);
                AddTapForFilter(label);
                stack.Children.Add(label);
            }

            return(stack);
        }
示例#14
0
文件: TrailPage.cs 项目: Zepsen/App1
        private Frame GenerateCreatedCommentForm()
        {
            var stack = new StackLayout();

            stack.Children.Add(GenericsContent.GenerateHeaderLabel("Leave yours commnet"));
            stack.Children.Add(new Frame
            {
                OutlineColor = Color.Silver,
                Content      = GenerateEditor()
            });

            var picker = GeneratePickerForCommentRate();

            stack.Children.Add(picker);

            stack.Children.Add(GenerateCommentButton());

            return(new Frame {
                Content = stack, HasShadow = true, OutlineColor = Color.Silver
            });
        }
示例#15
0
文件: TrailPage.cs 项目: Zepsen/App1
        private Grid GenerateTableForOptions(FullTrail trail)
        {
            var table = new Grid
            {
                RowDefinitions =
                {
                    new RowDefinition {
                        Height = 50
                    },
                    new RowDefinition {
                        Height = 50
                    },
                    new RowDefinition {
                        Height = 50
                    },
                    new RowDefinition {
                        Height = 50
                    }
                },

                ColumnDefinitions =
                {
                    new ColumnDefinition {
                        Width = new GridLength(1, GridUnitType.Star)
                    },
                    new ColumnDefinition {
                        Width = new GridLength(1, GridUnitType.Star)
                    },
                    new ColumnDefinition {
                        Width = new GridLength(1, GridUnitType.Star)
                    },
                    new ColumnDefinition {
                        Width = new GridLength(1, GridUnitType.Star)
                    },
                },
            };

            table.Children.Add(GenerateLabelForTableColumn("Distance"), 0, 0);
            table.Children.Add(GenerateLabelForTableValue(trail.Distance.ToString()), 1, 0);

            table.Children.Add(GenerateLabelForTableColumn("Peak"), 0, 1);
            table.Children.Add(GenerateLabelForTableValue(trail.Peak.ToString()), 1, 1);

            table.Children.Add(GenerateLabelForTableColumn("Season start"), 0, 2);
            table.Children.Add(GenerateLabelForTableValue(trail.SeasonStart), 1, 2);

            table.Children.Add(GenerateLabelForTableColumn("Season end"), 0, 3);
            table.Children.Add(GenerateLabelForTableValue(trail.SeasonEnd), 1, 3);

            table.Children.Add(GenerateLabelForTableColumn("Good For Kids"), 2, 0);
            if (trail.GoodForKids)
            {
                table.Children.Add(GenericsContent.CreateIcon("icon_black_ood_for_kids.png"), 3, 0);
            }

            table.Children.Add(GenerateLabelForTableColumn("Dog Allowed"), 2, 1);
            if (trail.DogAllowed)
            {
                table.Children.Add(GenericsContent.CreateIcon("icon_black_dog_freindly.png"), 3, 1);
            }

            table.Children.Add(GenerateLabelForTableColumn("Type"), 2, 2);
            if (!string.IsNullOrEmpty(trail.Type))
            {
                table.Children.Add(GenericsContent.CreateBlackIconByType(trail.Type), 3, 2);
            }

            table.Children.Add(GenerateLabelForTableColumn("Duration Type"), 2, 3);
            if (!string.IsNullOrEmpty(trail.DurationType))
            {
                table.Children.Add(GenericsContent.CreateBlackIconByType(trail.DurationType), 3, 3);
            }

            return(table);
        }
示例#16
0
        private ScrollView GenerateOptionLayout()
        {
            var stack = new StackLayout {
                Orientation = StackOrientation.Vertical
            };

            var peak = new Entry {
                Keyboard = Keyboard.Numeric, Placeholder = "Peak"
            };

            peak.SetBinding(Entry.TextProperty, OptionViewModel.PeakCommandPropertyName);
            stack.Children.Add(peak);

            var distance = new Entry {
                Keyboard = Keyboard.Numeric, Placeholder = "Distance"
            };

            distance.SetBinding(Entry.TextProperty, OptionViewModel.DistanceCommandPropertyName);
            stack.Children.Add(distance);

            var dogAllowed = new Switch();

            dogAllowed.SetBinding(Switch.IsToggledProperty, OptionViewModel.DogAllowedCommandPropertyName);
            stack.Children.Add(dogAllowed);

            var goodForKids = new Switch();

            goodForKids.SetBinding(Switch.IsToggledProperty, OptionViewModel.GoodForKidsCommandPropertyName);
            stack.Children.Add(goodForKids);

            var seasonStart = new Picker {
                Title = "SeasonStart"
            };

            foreach (var season in options.Seasons)
            {
                seasonStart.Items.Add(season.Value);
            }
            seasonStart.SetBinding(Picker.SelectedIndexProperty, OptionViewModel.SeasonStartCommandPropertyName);
            stack.Children.Add(seasonStart);

            var seasonEnd = new Picker {
                Title = "SeasonEnd"
            };

            foreach (var season in options.Seasons)
            {
                seasonEnd.Items.Add(season.Value);
            }
            seasonEnd.SetBinding(Picker.SelectedIndexProperty, OptionViewModel.SeasonEndCommandPropertyName);
            stack.Children.Add(seasonEnd);

            var trailType = new Picker()
            {
                Title = "Trail Type"
            };

            stack.Children.Add(trailType);
            foreach (var type in options.TrailsTypes)
            {
                trailType.Items.Add(type.Value);
            }
            trailType.SetBinding(Picker.SelectedIndexProperty, OptionViewModel.TypeCommandPropertyName);

            var trailDurationType = new Picker()
            {
                Title = "Trail Duration Type"
            };

            foreach (var durType in options.TrailsDurationTypes)
            {
                trailDurationType.Items.Add(durType.Value);
            }
            trailDurationType.SetBinding(Picker.SelectedIndexProperty, OptionViewModel.DurationTypeCommandPropertyName);
            stack.Children.Add(trailDurationType);

            var button = GenericsContent.GenerateDefaultButton("Update");

            button.SetBinding(Button.CommandProperty, OptionViewModel.UpdateCommandPropertyName);
            stack.Children.Add(button);

            return(new ScrollView {
                Content = stack
            });
        }