1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-30 15:06:06 +00:00

CarousselPage

This commit is contained in:
Yan Maniez 2019-05-07 14:52:55 +02:00
parent 6bb192145a
commit efc1923b25
2 changed files with 272 additions and 175 deletions

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<TabbedPage <CarouselPage
xmlns="http://xamarin.com/schemas/2014/forms" xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AideDeJeu.Views.PlayerCharacter.PlayerCharacterEditorPage" x:Class="AideDeJeu.Views.PlayerCharacter.PlayerCharacterEditorPage"
@ -11,10 +11,10 @@
xmlns:pickers="clr-namespace:AideDeJeu.Views.Pickers" xmlns:pickers="clr-namespace:AideDeJeu.Views.Pickers"
x:Name="This" x:Name="This"
Title="Création de personnage" Title="Création de personnage"
SelectedTabColor="{StaticResource HDRed}"
UnselectedTabColor="{StaticResource HDMidGrey}"
android:TabbedPage.IsSwipePagingEnabled="True"> android:TabbedPage.IsSwipePagingEnabled="True">
<TabbedPage.Resources> <!--SelectedTabColor="{StaticResource HDRed}"
UnselectedTabColor="{StaticResource HDMidGrey}"-->
<CarouselPage.Resources>
<StyleSheet> <StyleSheet>
<![CDATA[ <![CDATA[
imagebutton { imagebutton {
@ -52,240 +52,323 @@
<tools:MonsterMarkdownTheme x:Key="MonsterMarkdownTheme" /> <tools:MonsterMarkdownTheme x:Key="MonsterMarkdownTheme" />
<tools:NullToFalseConverter x:Key="NullToFalseConverter" /> <tools:NullToFalseConverter x:Key="NullToFalseConverter" />
</ResourceDictionary> </ResourceDictionary>
</TabbedPage.Resources> </CarouselPage.Resources>
<TabbedPage.ToolbarItems> <CarouselPage.ToolbarItems>
<ToolbarItem Text="Ouvrir en PDF avec..." Command="{Binding GenerateAndOpenPdfCommand}" Order="Secondary" /> <ToolbarItem Text="Ouvrir en PDF avec..." Command="{Binding GenerateAndOpenPdfCommand}" Order="Secondary" />
</TabbedPage.ToolbarItems> </CarouselPage.ToolbarItems>
<ContentPage Title="Race"> <ContentPage x:Name="Race" Title="Race">
<ScrollView Orientation="Vertical"> <Grid>
<StackLayout> <Grid.ColumnDefinitions>
<pickers:ItemPickerView BindingContext="{Binding}" Title="Race" ItemsSource="{Binding Races.Result}" SelectedItem="{Binding SelectedPlayerCharacter.Race, Mode=TwoWay}" IsEnabled="{Binding Races.IsSuccessfullyCompleted}" /> <ColumnDefinition Width="*" />
<!--<Picker Title="Race" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Races.IsSuccessfullyCompleted}" ItemsSource="{Binding Races.Result}" ItemDisplayBinding="{Binding Name}" SelectedIndex="{Binding RaceSelectedIndex, Mode=TwoWay}" />--> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ScrollView Grid.ColumnSpan="2" Orientation="Vertical">
<StackLayout>
<pickers:ItemPickerView BindingContext="{Binding}" Title="Race" ItemsSource="{Binding Races.Result}" SelectedItem="{Binding SelectedPlayerCharacter.Race, Mode=TwoWay}" IsEnabled="{Binding Races.IsSuccessfullyCompleted}" />
<!--<Picker Title="Race" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Races.IsSuccessfullyCompleted}" ItemsSource="{Binding Races.Result}" ItemDisplayBinding="{Binding Name}" SelectedIndex="{Binding RaceSelectedIndex, Mode=TwoWay}" />-->
<Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedPlayerCharacter.Race, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" > <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedPlayerCharacter.Race, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" >
<StackLayout Padding="0"> <StackLayout Padding="0">
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Augmentation de caractéristiques" IsVisible="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Augmentation de caractéristiques" IsVisible="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease}" IsVisible="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease}" IsVisible="{Binding SelectedPlayerCharacter.Race.AbilityScoreIncrease, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Âge" IsVisible="{Binding SelectedPlayerCharacter.Race.Age, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Âge" IsVisible="{Binding SelectedPlayerCharacter.Race.Age, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Age}" IsVisible="{Binding SelectedPlayerCharacter.Race.Age, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Age}" IsVisible="{Binding SelectedPlayerCharacter.Race.Age, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Alignement" IsVisible="{Binding SelectedPlayerCharacter.Race.Alignment, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Alignement" IsVisible="{Binding SelectedPlayerCharacter.Race.Alignment, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Alignment}" IsVisible="{Binding SelectedPlayerCharacter.Race.Alignment, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Alignment}" IsVisible="{Binding SelectedPlayerCharacter.Race.Alignment, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Taille" IsVisible="{Binding SelectedPlayerCharacter.Race.Size, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Taille" IsVisible="{Binding SelectedPlayerCharacter.Race.Size, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Size}" IsVisible="{Binding SelectedPlayerCharacter.Race.Size, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Size}" IsVisible="{Binding SelectedPlayerCharacter.Race.Size, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Vitesse" IsVisible="{Binding SelectedPlayerCharacter.Race.Speed, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Vitesse" IsVisible="{Binding SelectedPlayerCharacter.Race.Speed, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Speed}" IsVisible="{Binding SelectedPlayerCharacter.Race.Speed, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Speed}" IsVisible="{Binding SelectedPlayerCharacter.Race.Speed, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Vision dans le noir" IsVisible="{Binding SelectedPlayerCharacter.Race.Darkvision, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Vision dans le noir" IsVisible="{Binding SelectedPlayerCharacter.Race.Darkvision, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Darkvision}" IsVisible="{Binding SelectedPlayerCharacter.Race.Darkvision, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Darkvision}" IsVisible="{Binding SelectedPlayerCharacter.Race.Darkvision, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<StackLayout BindableLayout.ItemsSource="{Binding SelectedPlayerCharacter.Race.AttributesKeyValue}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<StackLayout>
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding Value.Key, StringFormat='#### {0}'}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding Value.Value}" />
</StackLayout>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Langues" IsVisible="{Binding SelectedPlayerCharacter.Race.Languages, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Languages}" IsVisible="{Binding SelectedPlayerCharacter.Race.Languages, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<StackLayout BindableLayout.ItemsSource="{Binding SelectedPlayerCharacter.Race.AttributesKeyValue}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<StackLayout>
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding Value.Key, StringFormat='#### {0}'}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding Value.Value}" />
</StackLayout>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout> </StackLayout>
</Frame>
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="#### Langues" IsVisible="{Binding SelectedPlayerCharacter.Race.Languages, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <!--<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.Markdown}" />-->
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Race.Languages}" IsVisible="{Binding SelectedPlayerCharacter.Race.Languages, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> </StackLayout>
</ScrollView>
</StackLayout> <Button Grid.Column="1" Grid.Row="1" Text="Classe" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Class}"/>
</Frame> </Grid>
<!--<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedRace.Markdown}" />-->
</StackLayout>
</ScrollView>
</ContentPage> </ContentPage>
<ContentPage Title="Classe"> <ContentPage x:Name="Class" Title="Classe">
<ScrollView Orientation="Vertical"> <Grid>
<StackLayout> <Grid.ColumnDefinitions>
<pickers:ItemPickerView BindingContext="{Binding}" Title="Classe" ItemsSource="{Binding Classes.Result}" SelectedItem="{Binding SelectedPlayerCharacter.Class, Mode=TwoWay}" /> <ColumnDefinition Width="*" />
<!--<Picker Title="Classe" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Classes.IsSuccessfullyCompleted}" ItemsSource="{Binding Classes.Result}" ItemDisplayBinding="{Binding Name}" SelectedIndex="{Binding ClassSelectedIndex, Mode=TwoWay}" />--> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ScrollView Grid.ColumnSpan="2" Orientation="Vertical">
<StackLayout>
<pickers:ItemPickerView BindingContext="{Binding}" Title="Classe" ItemsSource="{Binding Classes.Result}" SelectedItem="{Binding SelectedPlayerCharacter.Class, Mode=TwoWay}" />
<!--<Picker Title="Classe" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Classes.IsSuccessfullyCompleted}" ItemsSource="{Binding Classes.Result}" ItemDisplayBinding="{Binding Name}" SelectedIndex="{Binding ClassSelectedIndex, Mode=TwoWay}" />-->
<Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedPlayerCharacter.Class, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" > <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedPlayerCharacter.Class, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" >
<StackLayout Padding="0"> <StackLayout Padding="0">
<pickers:ItemView BindingContext="{Binding}" Name="#### Dés de vie" Description="{Binding SelectedPlayerCharacter.Class.HitPoints.HitDice}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Dés de vie" Description="{Binding SelectedPlayerCharacter.Class.HitPoints.HitDice}" />
<pickers:ItemView BindingContext="{Binding}" Name="#### Points de vie au niveau 1" Description="{Binding SelectedPlayerCharacter.Class.HitPoints.HitPointsAt1stLevel}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Points de vie au niveau 1" Description="{Binding SelectedPlayerCharacter.Class.HitPoints.HitPointsAt1stLevel}" />
<pickers:ItemView BindingContext="{Binding}" Name="#### Points de vie aux niveaux supérieurs" Description="{Binding SelectedPlayerCharacter.Class.HitPoints.HitPointsAtHigherLevels}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Points de vie aux niveaux supérieurs" Description="{Binding SelectedPlayerCharacter.Class.HitPoints.HitPointsAtHigherLevels}" />
<pickers:ItemView BindingContext="{Binding}" Name="#### Armures" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.Armor}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Armures" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.Armor}" />
<pickers:ItemView BindingContext="{Binding}" Name="#### Armes" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.Weapons}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Armes" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.Weapons}" />
<pickers:ItemView BindingContext="{Binding}" Name="#### Outils" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.Tools}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Outils" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.Tools}" />
<pickers:ItemView BindingContext="{Binding}" Name="#### Jets de sauvegarde" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.SavingThrows}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Jets de sauvegarde" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.SavingThrows}" />
<pickers:ItemView BindingContext="{Binding}" Name="#### Compétences" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.Skills}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Compétences" Description="{Binding SelectedPlayerCharacter.Class.Proficiencies.Skills}" />
<pickers:ItemView BindingContext="{Binding}" Name="#### Équipement" Description="{Binding SelectedPlayerCharacter.Class.Equipment.Description}" /> <pickers:ItemView BindingContext="{Binding}" Name="#### Équipement" Description="{Binding SelectedPlayerCharacter.Class.Equipment.Description}" />
<StackLayout BindableLayout.ItemsSource="{Binding SelectedPlayerCharacter.Class.LeveledFeatures}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<StackLayout>
<pickers:ItemView BindingContext="{Binding}" Name="{Binding Name, StringFormat='#### {0}'}" Description="{Binding Description}" />
</StackLayout>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
<StackLayout BindableLayout.ItemsSource="{Binding SelectedPlayerCharacter.Class.LeveledFeatures}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<StackLayout>
<pickers:ItemView BindingContext="{Binding}" Name="{Binding Name, StringFormat='#### {0}'}" Description="{Binding Description}" />
</StackLayout>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout> </StackLayout>
</Frame>
</StackLayout> <!--<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Class.Markdown}" />-->
</Frame> </StackLayout>
</ScrollView>
<!--<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Class.Markdown}" />--> <Button Grid.Column="0" Grid.Row="1" Text="Race" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Race}"/>
</StackLayout> <Button Grid.Column="1" Grid.Row="1" Text="Historique" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Background}"/>
</ScrollView> </Grid>
</ContentPage> </ContentPage>
<ContentPage Title="Historique"> <ContentPage x:Name="Background" Title="Historique">
<ScrollView Orientation="Vertical"> <Grid>
<StackLayout> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<!-- DEBUG --> <ColumnDefinition Width="*" />
<!--<Label Text="{Binding Backgrounds.Status, StringFormat='Backgrounds.Status = {0}'}" /> </Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ScrollView Grid.ColumnSpan="2" Orientation="Vertical">
<StackLayout>
<!-- DEBUG -->
<!--<Label Text="{Binding Backgrounds.Status, StringFormat='Backgrounds.Status = {0}'}" />
<Label Text="{Binding NotifySelectedBackground.Status, StringFormat='NotifySelectedBackground.Status = {0}'}" /> <Label Text="{Binding NotifySelectedBackground.Status, StringFormat='NotifySelectedBackground.Status = {0}'}" />
<Label Text="{Binding NotifySelectedSubBackground.Status, StringFormat='NotifySelectedSubBackground.Status = {0}'}" />--> <Label Text="{Binding NotifySelectedSubBackground.Status, StringFormat='NotifySelectedSubBackground.Status = {0}'}" />-->
<pickers:ItemPickerView BindingContext="{Binding}" Title="Historique" ItemsSource="{Binding Backgrounds.Result}" SelectedItem="{Binding SelectedBackground, Mode=TwoWay}" /> <pickers:ItemPickerView BindingContext="{Binding}" Title="Historique" ItemsSource="{Binding Backgrounds.Result}" SelectedItem="{Binding SelectedBackground, Mode=TwoWay}" />
<pickers:ItemPickerView BindingContext="{Binding}" Title="Variante" ItemsSource="{Binding SubBackgrounds}" SelectedItem="{Binding SelectedSubBackground, Mode=TwoWay}" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" /> <pickers:ItemPickerView BindingContext="{Binding}" Title="Variante" ItemsSource="{Binding SubBackgrounds}" SelectedItem="{Binding SelectedSubBackground, Mode=TwoWay}" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" />
<!-- test --> <!-- test -->
<!--<views:StringPickerView BindingContext="{Binding}" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" Title="Compétences" SelectedItem="{Binding PreferedBackground.Abilities}" />--> <!--<views:StringPickerView BindingContext="{Binding}" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" Title="Compétences" SelectedItem="{Binding PreferedBackground.Abilities}" />-->
<Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}"> <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}">
<StackLayout Padding="0"> <StackLayout Padding="0">
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="# Compétences" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="# Compétences" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding BackgroundOrSubBackground.Abilities}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding BackgroundOrSubBackground.Abilities}" />
</StackLayout> </StackLayout>
</Frame> </Frame>
<Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}"> <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}">
<StackLayout Padding="0"> <StackLayout Padding="0">
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="# Outils maîtrisés" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="# Outils maîtrisés" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding BackgroundOrSubBackground.MasteredTools}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding BackgroundOrSubBackground.MasteredTools}" />
</StackLayout> </StackLayout>
</Frame> </Frame>
<Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}"> <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}">
<StackLayout Padding="0"> <StackLayout Padding="0">
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="# Langues maîtrisées" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="# Langues maîtrisées" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding BackgroundOrSubBackground.MasteredLanguages}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding BackgroundOrSubBackground.MasteredLanguages}" />
</StackLayout> </StackLayout>
</Frame> </Frame>
<Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}"> <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}">
<StackLayout Padding="0"> <StackLayout Padding="0">
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="# Équipement" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="# Équipement" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding BackgroundOrSubBackground.Equipment}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding BackgroundOrSubBackground.Equipment}" />
</StackLayout> </StackLayout>
</Frame> </Frame>
<Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding HasBackgroundSkill}"> <Frame BorderColor="Black" Padding="2" Margin="10" IsVisible="{Binding HasBackgroundSkill}">
<StackLayout Padding="0"> <StackLayout Padding="0">
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding PreferedBackgroundSkill.Name, StringFormat='# {0}'}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding PreferedBackgroundSkill.Name, StringFormat='# {0}'}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding PreferedBackgroundSkill.Description}" /> <mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" HorizontalOptions="FillAndExpand" Markdown="{Binding PreferedBackgroundSkill.Description}" />
</StackLayout> </StackLayout>
</Frame> </Frame>
<pickers:StringPickerView BindingContext="{Binding}" IsVisible="{Binding HasBackgroundSpecialties}" Title="{Binding PreferedBackgroundSpecialties.Name}" Description="{Binding PreferedBackgroundSpecialties.Description}" ItemsSource="{Binding PreferedBackgroundSpecialties.BindableTable}" SelectedItem="{Binding BackgroundSpecialty, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" IsVisible="{Binding HasBackgroundSpecialties}" Title="{Binding PreferedBackgroundSpecialties.Name}" Description="{Binding PreferedBackgroundSpecialties.Description}" ItemsSource="{Binding PreferedBackgroundSpecialties.BindableTable}" SelectedItem="{Binding BackgroundSpecialty, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Trait de personnalité" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" ItemsSource="{Binding PersonalityTraits}" SelectedItem="{Binding SelectedPersonalityTrait, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" Title="Trait de personnalité" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" ItemsSource="{Binding PersonalityTraits}" SelectedItem="{Binding SelectedPersonalityTrait, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Idéal" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" ItemsSource="{Binding PersonalityIdeals}" SelectedItem="{Binding SelectedPersonalityIdeal, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" Title="Idéal" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" ItemsSource="{Binding PersonalityIdeals}" SelectedItem="{Binding SelectedPersonalityIdeal, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Lien" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" ItemsSource="{Binding PersonalityLinks}" SelectedItem="{Binding SelectedPersonalityLink, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" Title="Lien" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" ItemsSource="{Binding PersonalityLinks}" SelectedItem="{Binding SelectedPersonalityLink, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Défaut" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" ItemsSource="{Binding PersonalityDefects}" SelectedItem="{Binding SelectedPersonalityDefect, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" Title="Défaut" IsVisible="{Binding SelectedBackground, Converter={StaticResource NullToFalseConverter}, FallbackValue=False}" ItemsSource="{Binding PersonalityDefects}" SelectedItem="{Binding SelectedPersonalityDefect, Mode=TwoWay}" />
</StackLayout> </StackLayout>
</ScrollView> </ScrollView>
<Button Grid.Column="0" Grid.Row="1" Text="Classe" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Class}"/>
<Button Grid.Column="1" Grid.Row="1" Text="Caractéristiques" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Abilities}"/>
</Grid>
</ContentPage> </ContentPage>
<ContentPage Title="Caractéristiques"> <ContentPage x:Name="Abilities" Title="Caractéristiques">
<ScrollView Orientation="Vertical"> <Grid>
<StackLayout> <Grid.ColumnDefinitions>
<Frame BorderColor="Black" Padding="2" Margin="10"> <ColumnDefinition Width="*" />
<ImageButton Source="rolling_dice_cup.png" Command="{Binding RollDicesCommand}" /> <ColumnDefinition Width="*" />
</Frame> </Grid.ColumnDefinitions>
<Frame BorderColor="Black" Padding="2" Margin="10"> <Grid.RowDefinitions>
<StackLayout> <RowDefinition Height="*" />
<Grid> <RowDefinition Height="auto" />
<Grid.ColumnDefinitions> </Grid.RowDefinitions>
<ColumnDefinition Width="100" /> <ScrollView Grid.ColumnSpan="2" Orientation="Vertical">
<ColumnDefinition Width="50" /> <StackLayout>
<ColumnDefinition Width="50" /> <Frame BorderColor="Black" Padding="2" Margin="10">
<ColumnDefinition Width="50" /> <ImageButton Source="rolling_dice_cup.png" Command="{Binding RollDicesCommand}" />
<ColumnDefinition Width="50" /> </Frame>
</Grid.ColumnDefinitions> <Frame BorderColor="Black" Padding="2" Margin="10">
<Label Grid.Column="1" Text="Base" /> <StackLayout>
<Label Grid.Column="2" Text="Bonus" /> <Grid>
<Label Grid.Column="3" Text="Valeur" /> <Grid.ColumnDefinitions>
<Label Grid.Column="4" Text="Mod" /> <ColumnDefinition Width="100" />
</Grid> <ColumnDefinition Width="50" />
<pickers:AbilityPickerView <ColumnDefinition Width="50" />
<ColumnDefinition Width="50" />
<ColumnDefinition Width="50" />
</Grid.ColumnDefinitions>
<Label Grid.Column="1" Text="Base" />
<Label Grid.Column="2" Text="Bonus" />
<Label Grid.Column="3" Text="Valeur" />
<Label Grid.Column="4" Text="Mod" />
</Grid>
<pickers:AbilityPickerView
BindingContext="{Binding}" BindingContext="{Binding}"
Title="Force" Title="Force"
Ability="{Binding SelectedPlayerCharacter.Abilities.Strength}" Ability="{Binding SelectedPlayerCharacter.Abilities.Strength}"
/> />
<pickers:AbilityPickerView <pickers:AbilityPickerView
BindingContext="{Binding}" BindingContext="{Binding}"
Title="Dextérité" Title="Dextérité"
Ability="{Binding SelectedPlayerCharacter.Abilities.Dexterity}" Ability="{Binding SelectedPlayerCharacter.Abilities.Dexterity}"
/> />
<pickers:AbilityPickerView <pickers:AbilityPickerView
BindingContext="{Binding}" BindingContext="{Binding}"
Title="Constitution" Title="Constitution"
Ability="{Binding SelectedPlayerCharacter.Abilities.Constitution}" Ability="{Binding SelectedPlayerCharacter.Abilities.Constitution}"
/> />
<pickers:AbilityPickerView <pickers:AbilityPickerView
BindingContext="{Binding}" BindingContext="{Binding}"
Title="Intelligence" Title="Intelligence"
Ability="{Binding SelectedPlayerCharacter.Abilities.Intelligence}" Ability="{Binding SelectedPlayerCharacter.Abilities.Intelligence}"
/> />
<pickers:AbilityPickerView <pickers:AbilityPickerView
BindingContext="{Binding}" BindingContext="{Binding}"
Title="Sagesse" Title="Sagesse"
Ability="{Binding SelectedPlayerCharacter.Abilities.Wisdom}" Ability="{Binding SelectedPlayerCharacter.Abilities.Wisdom}"
/> />
<pickers:AbilityPickerView <pickers:AbilityPickerView
BindingContext="{Binding}" BindingContext="{Binding}"
Title="Charisme" Title="Charisme"
Ability="{Binding SelectedPlayerCharacter.Abilities.Charisma}" Ability="{Binding SelectedPlayerCharacter.Abilities.Charisma}"
/> />
</StackLayout> </StackLayout>
</Frame> </Frame>
<!--<pickers:StringPickerView BindingContext="{Binding}" Title="Force" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Strength.BaseValue, Mode=TwoWay}" /> <!--<pickers:StringPickerView BindingContext="{Binding}" Title="Force" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Strength.BaseValue, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Dextérité" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Dexterity.BaseValue, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" Title="Dextérité" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Dexterity.BaseValue, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Constitution" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Constitution.BaseValue, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" Title="Constitution" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Constitution.BaseValue, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Intelligence" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Intelligence.BaseValue, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" Title="Intelligence" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Intelligence.BaseValue, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Sagesse" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Wisdom.BaseValue, Mode=TwoWay}" /> <pickers:StringPickerView BindingContext="{Binding}" Title="Sagesse" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Wisdom.BaseValue, Mode=TwoWay}" />
<pickers:StringPickerView BindingContext="{Binding}" Title="Charisme" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Charisma.BaseValue, Mode=TwoWay}" />--> <pickers:StringPickerView BindingContext="{Binding}" Title="Charisme" ItemsSource="{Binding Abilities}" SelectedItem="{Binding SelectedPlayerCharacter.Abilities.Charisma.BaseValue, Mode=TwoWay}" />-->
</StackLayout> </StackLayout>
</ScrollView> </ScrollView>
<Button Grid.Column="0" Grid.Row="1" Text="Historique" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Background}"/>
<Button Grid.Column="1" Grid.Row="1" Text="Équipement" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Equipment}"/>
</Grid>
</ContentPage> </ContentPage>
<ContentPage Title="Equipement"> <ContentPage x:Name="Equipment" Title="Équipement">
<ScrollView Orientation="Vertical"> <Grid>
<StackLayout> <Grid.ColumnDefinitions>
</StackLayout> <ColumnDefinition Width="*" />
</ScrollView> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ScrollView Grid.ColumnSpan="2" Orientation="Vertical">
<StackLayout>
</StackLayout>
</ScrollView>
<Button Grid.Column="0" Grid.Row="1" Text="Caractéristiques" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Abilities}"/>
<Button Grid.Column="1" Grid.Row="1" Text="Finalisation" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Finalize}"/>
</Grid>
</ContentPage> </ContentPage>
<ContentPage Title="Finalisation"> <ContentPage x:Name="Finalize" Title="Finalisation">
<ScrollView Orientation="Vertical"> <Grid>
<StackLayout> <Grid.ColumnDefinitions>
<Entry Placeholder="Nom" Text="{Binding Name}" Keyboard="Text" /> <ColumnDefinition Width="*" />
<!--<Picker Title="Alignement" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Alignments.IsSuccessfullyCompleted}" ItemsSource="{Binding Alignments.Result}" ItemDisplayBinding="{Binding Name}" SelectedIndex="{Binding AlignmentSelectedIndex, Mode=TwoWay}" />--> <ColumnDefinition Width="*" />
<pickers:ItemPickerView BindingContext="{Binding}" IsEnabled="{Binding Alignments.IsSuccessfullyCompleted}" Title="Alignement" ItemsSource="{Binding Alignments.Result}" SelectedItem="{Binding SelectedPlayerCharacter.Alignment, Mode=TwoWay}" /> </Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ScrollView Grid.ColumnSpan="2" Orientation="Vertical">
<StackLayout>
<Entry Placeholder="Nom" Text="{Binding Name}" Keyboard="Text" />
<!--<Picker Title="Alignement" HorizontalOptions="FillAndExpand" IsEnabled="{Binding Alignments.IsSuccessfullyCompleted}" ItemsSource="{Binding Alignments.Result}" ItemDisplayBinding="{Binding Name}" SelectedIndex="{Binding AlignmentSelectedIndex, Mode=TwoWay}" />-->
<pickers:ItemPickerView BindingContext="{Binding}" IsEnabled="{Binding Alignments.IsSuccessfullyCompleted}" Title="Alignement" ItemsSource="{Binding Alignments.Result}" SelectedItem="{Binding SelectedPlayerCharacter.Alignment, Mode=TwoWay}" />
<!--<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Alignment.Description}" />--> <!--<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding SelectedPlayerCharacter.Alignment.Description}" />-->
<Picker Title="Niveau" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Levels}" ItemDisplayBinding="{Binding StringFormat='Niveau : {0}'}" /> <Picker Title="Niveau" HorizontalOptions="FillAndExpand" ItemsSource="{Binding Levels}" ItemDisplayBinding="{Binding StringFormat='Niveau : {0}'}" />
</StackLayout> </StackLayout>
</ScrollView> </ScrollView>
<Button Grid.Column="0" Grid.Row="1" Text="Équipement" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Equipment}"/>
<Button Grid.Column="1" Grid.Row="1" Text="Résumé" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Resume}"/>
</Grid>
</ContentPage> </ContentPage>
<ContentPage Title="Résumé"> <ContentPage x:Name="Resume" Title="Résumé">
<ScrollView Orientation="Vertical"> <Grid>
<StackLayout> <Grid.ColumnDefinitions>
</StackLayout> <ColumnDefinition Width="*" />
</ScrollView> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<ScrollView Grid.ColumnSpan="2" Orientation="Vertical">
<StackLayout>
</StackLayout>
</ScrollView>
<Button Grid.Column="0" Grid.Row="1" Text="Finalisation" Command="{Binding ChangePageCommand, Source={x:Reference This}}" CommandParameter="{x:Reference Finalize}"/>
</Grid>
</ContentPage> </ContentPage>
<!--<StackLayout Orientation="Vertical"> <!--<StackLayout Orientation="Vertical">
<TableView Margin="10,0"> <TableView Margin="10,0">
@ -327,4 +410,4 @@
</TableRoot> </TableRoot>
</TableView> </TableView>
</StackLayout>--> </StackLayout>-->
</TabbedPage> </CarouselPage>

View file

@ -2,6 +2,7 @@
using AideDeJeu.ViewModels.PlayerCharacter; using AideDeJeu.ViewModels.PlayerCharacter;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -12,7 +13,7 @@ using Xamarin.Forms.Xaml;
namespace AideDeJeu.Views.PlayerCharacter namespace AideDeJeu.Views.PlayerCharacter
{ {
[XamlCompilation(XamlCompilationOptions.Compile)] [XamlCompilation(XamlCompilationOptions.Compile)]
public partial class PlayerCharacterEditorPage : TabbedPage public partial class PlayerCharacterEditorPage : CarouselPage
{ {
public PlayerCharacterEditorPage() public PlayerCharacterEditorPage()
{ {
@ -21,5 +22,18 @@ namespace AideDeJeu.Views.PlayerCharacter
InitializeComponent(); InitializeComponent();
} }
public Command ChangePageCommand
{
get
{
return new Command<object>(ExecuteChangePageCommand);
}
}
public void ExecuteChangePageCommand(object param)
{
This.CurrentPage = param as ContentPage;
}
} }
} }