mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-30 15:06:06 +00:00
Merge branch 'test_shell2'
This commit is contained in:
commit
08135c06eb
21 changed files with 11823 additions and 11289 deletions
10922
AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs
generated
10922
AideDeJeu/AideDeJeu.Android/Resources/Resource.designer.cs
generated
File diff suppressed because it is too large
Load diff
|
|
@ -158,6 +158,9 @@
|
||||||
<EmbeddedResource Update="Views\Library\DeepSearchPage.xaml">
|
<EmbeddedResource Update="Views\Library\DeepSearchPage.xaml">
|
||||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Views\Library\ItemPage.xaml">
|
||||||
|
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Update="Views\MainNavigationPage.xaml">
|
<EmbeddedResource Update="Views\MainNavigationPage.xaml">
|
||||||
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ using AideDeJeu.ViewModels.Library;
|
||||||
using AideDeJeu.ViewModels.PlayerCharacter;
|
using AideDeJeu.ViewModels.PlayerCharacter;
|
||||||
using AideDeJeu.Views;
|
using AideDeJeu.Views;
|
||||||
using AideDeJeuLib;
|
using AideDeJeuLib;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
|
|
@ -29,11 +30,14 @@ namespace AideDeJeu
|
||||||
var bgtan = (Color)Resources["HDWhite"];
|
var bgtan = (Color)Resources["HDWhite"];
|
||||||
|
|
||||||
|
|
||||||
//MainPage = new MainShell();
|
MainPage = new MainShell();
|
||||||
var mainNavigationPage = new MainNavigationPage();
|
//var mainNavigationPage = new MainNavigationPage();
|
||||||
vm.Navigator = new Navigator(mainNavigationPage.Navigation);
|
//vm.Navigator = new Navigator(mainNavigationPage.Navigation);
|
||||||
MainPage = mainNavigationPage;
|
vm.Navigator = new Navigator(Shell.Current.Navigation);
|
||||||
mainNavigationPage.Navigation.PushAsync(new MainPage());
|
|
||||||
|
Routing.RegisterRoute("item", typeof(Views.Library.ItemPage));
|
||||||
|
//MainPage = mainNavigationPage;
|
||||||
|
//mainNavigationPage.Navigation.PushAsync(new MainPage());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -239,6 +239,8 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
public async Task NavigateToLinkAsync(string s)
|
public async Task NavigateToLinkAsync(string s)
|
||||||
{
|
{
|
||||||
|
await Navigation.PushAsync(new ItemPage(s), true);//.GoToAsync($"item?path={Uri.EscapeDataString(s)}");
|
||||||
|
return;
|
||||||
if (s != null)
|
if (s != null)
|
||||||
{
|
{
|
||||||
var regex = new Regex("/?(?<file>.*?)(_with_(?<with>.*))?\\.md(#(?<anchor>.*))?");
|
var regex = new Regex("/?(?<file>.*?)(_with_(?<with>.*))?\\.md(#(?<anchor>.*))?");
|
||||||
|
|
|
||||||
48
AideDeJeu/AideDeJeu/Views/Library/ItemPage.xaml
Normal file
48
AideDeJeu/AideDeJeu/Views/Library/ItemPage.xaml
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
xmlns:tools="clr-namespace:AideDeJeu.Tools"
|
||||||
|
xmlns:mdview="clr-namespace:Xam.Forms.Markdown"
|
||||||
|
x:Class="AideDeJeu.Views.Library.ItemPage"
|
||||||
|
Title="{Binding Title}"
|
||||||
|
Icon="spell_book.png"
|
||||||
|
x:Name="This">
|
||||||
|
<ContentPage.Resources>
|
||||||
|
<ResourceDictionary>
|
||||||
|
<tools:MonsterMarkdownTheme x:Key="MonsterMarkdownTheme" />
|
||||||
|
<tools:NullToFalseConverter x:Key="NullToFalseConverter" />
|
||||||
|
</ResourceDictionary>
|
||||||
|
</ContentPage.Resources>
|
||||||
|
<ContentPage.ToolbarItems>
|
||||||
|
<ToolbarItem Name="AddToFavorites" Text="Ajouter aux favoris" Order="Primary" Icon="round_star.png" Command="{Binding Main.Navigator.AddToFavoritesCommand}" />
|
||||||
|
<ToolbarItem Name="Print" Text="Générer un PDF" Order="Primary" Icon="scroll_unfurled.png" Command="{Binding Main.Navigator.GeneratePDFCommand}" CommandParameter="{Binding Item.Markdown}" />
|
||||||
|
</ContentPage.ToolbarItems>
|
||||||
|
<Grid>
|
||||||
|
<ScrollView Orientation="Vertical" BackgroundColor="{StaticResource HDWhite}">
|
||||||
|
<mdview:MarkdownView
|
||||||
|
Theme="{StaticResource MonsterMarkdownTheme}"
|
||||||
|
Markdown="{Binding Item.Item.Markdown}"
|
||||||
|
NavigateToLinkCommand="{Binding Main.Navigator.NavigateToLinkCommand}"
|
||||||
|
/>
|
||||||
|
</ScrollView>
|
||||||
|
<ActivityIndicator
|
||||||
|
VerticalOptions="StartAndExpand"
|
||||||
|
HorizontalOptions="End"
|
||||||
|
Color="{StaticResource HDRed}"
|
||||||
|
IsRunning="{Binding Main.IsLoading}"
|
||||||
|
IsVisible="{Binding Main.IsLoading}">
|
||||||
|
<ActivityIndicator.WidthRequest>
|
||||||
|
<OnPlatform x:TypeArguments="x:Double">
|
||||||
|
<On Platform="UWP" Value="400" />
|
||||||
|
<On Platform="iOS, Android" Value="50" />
|
||||||
|
</OnPlatform>
|
||||||
|
</ActivityIndicator.WidthRequest>
|
||||||
|
<ActivityIndicator.HeightRequest>
|
||||||
|
<OnPlatform x:TypeArguments="x:Double">
|
||||||
|
<On Platform="UWP" Value="10" />
|
||||||
|
<On Platform="iOS, Android" Value="50" />
|
||||||
|
</OnPlatform>
|
||||||
|
</ActivityIndicator.HeightRequest>
|
||||||
|
</ActivityIndicator>
|
||||||
|
</Grid>
|
||||||
|
</ContentPage>
|
||||||
147
AideDeJeu/AideDeJeu/Views/Library/ItemPage.xaml.cs
Normal file
147
AideDeJeu/AideDeJeu/Views/Library/ItemPage.xaml.cs
Normal file
|
|
@ -0,0 +1,147 @@
|
||||||
|
|
||||||
|
using AideDeJeu.ViewModels;
|
||||||
|
using AideDeJeu.ViewModels.Library;
|
||||||
|
using AideDeJeuLib;
|
||||||
|
using SkiaSharp;
|
||||||
|
using SkiaSharp.Views.Forms;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Xamarin.Forms;
|
||||||
|
using Xamarin.Forms.Xaml;
|
||||||
|
|
||||||
|
namespace AideDeJeu.Views.Library
|
||||||
|
{
|
||||||
|
[XamlCompilation(XamlCompilationOptions.Compile)]
|
||||||
|
[QueryProperty("Path", "path")]
|
||||||
|
public partial class ItemPage : ContentPage, INotifyPropertyChanged
|
||||||
|
{
|
||||||
|
public MainViewModel Main
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return DependencyService.Get<MainViewModel>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private ItemDetailViewModel _Item = null;
|
||||||
|
public ItemDetailViewModel Item
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _Item;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref _Item, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemPage()
|
||||||
|
{
|
||||||
|
BindingContext = this;
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
public ItemPage(string id)
|
||||||
|
{
|
||||||
|
BindingContext = this;
|
||||||
|
InitializeComponent();
|
||||||
|
Path = id;
|
||||||
|
//LoadPageAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
//protected override void OnAppearing()
|
||||||
|
//{
|
||||||
|
// base.OnAppearing();
|
||||||
|
// LoadPageAsync();
|
||||||
|
//}
|
||||||
|
|
||||||
|
private string _Path { get; set; } = null; //"index.md";
|
||||||
|
public string Path
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _Path;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_Path = value;
|
||||||
|
LoadPageAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task LoadPageAsync()
|
||||||
|
{
|
||||||
|
if (Path == null) return;
|
||||||
|
var regex = new Regex("/?(?<file>.*?)(_with_(?<with>.*))?\\.md(#(?<anchor>.*))?");
|
||||||
|
var match = regex.Match(Uri.UnescapeDataString(Path));
|
||||||
|
var file = match.Groups["file"].Value;
|
||||||
|
var anchor = match.Groups["anchor"].Value;
|
||||||
|
var with = match.Groups["with"].Value;
|
||||||
|
Item item = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Main.IsBusy = true;
|
||||||
|
Main.IsLoading = true;
|
||||||
|
item = await Task.Run(async () => await Main.Store.GetItemFromDataAsync(file, anchor));
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Main.IsBusy = false;
|
||||||
|
Main.IsLoading = false;
|
||||||
|
}
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
var items = item; // as Items;
|
||||||
|
var filterViewModel = items.GetNewFilterViewModel();
|
||||||
|
var itemsViewModel = new ItemDetailViewModel() { Item = items };
|
||||||
|
this.Item = itemsViewModel;
|
||||||
|
//SwitchToMainTab();
|
||||||
|
//if (filterViewModel == null)
|
||||||
|
//{
|
||||||
|
// await GotoItemsPageAsync(itemsViewModel);
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// await GotoFilteredItemsPageAsync(itemsViewModel);
|
||||||
|
//}
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//await App.Current.MainPage.DisplayAlert("Lien invalide", s, "OK");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected bool SetProperty<T>(ref T backingStore, T value,
|
||||||
|
[CallerMemberName]string propertyName = "",
|
||||||
|
Action onChanged = null)
|
||||||
|
{
|
||||||
|
if (EqualityComparer<T>.Default.Equals(backingStore, value))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
backingStore = value;
|
||||||
|
onChanged?.Invoke();
|
||||||
|
CallOnPropertyChanged(propertyName);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region INotifyPropertyChanged
|
||||||
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
protected void CallOnPropertyChanged([CallerMemberName] string propertyName = "")
|
||||||
|
{
|
||||||
|
var changed = PropertyChanged;
|
||||||
|
if (changed == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
changed.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,7 +4,33 @@
|
||||||
xmlns:local="clr-namespace:AideDeJeu.Views"
|
xmlns:local="clr-namespace:AideDeJeu.Views"
|
||||||
xmlns:pc="clr-namespace:AideDeJeu.Views.PlayerCharacter"
|
xmlns:pc="clr-namespace:AideDeJeu.Views.PlayerCharacter"
|
||||||
xmlns:library="clr-namespace:AideDeJeu.Views.Library"
|
xmlns:library="clr-namespace:AideDeJeu.Views.Library"
|
||||||
x:Class="AideDeJeu.Views.MainShell">
|
x:Class="AideDeJeu.Views.MainShell"
|
||||||
|
BackgroundColor="{DynamicResource HDWhite}"
|
||||||
|
FlyoutBackgroundColor="{DynamicResource HDWhite}"
|
||||||
|
Shell.ForegroundColor="{DynamicResource HDRed}"
|
||||||
|
Shell.TitleColor="{DynamicResource HDBlack}"
|
||||||
|
Shell.UnselectedColor="{DynamicResource HDLightGrey}"
|
||||||
|
>
|
||||||
|
<Shell.Resources>
|
||||||
|
<ResourceDictionary>
|
||||||
|
<Color x:Key="NavigationPrimary">#2196F3</Color>
|
||||||
|
<Style x:Key="BaseStyle" TargetType="Element">
|
||||||
|
<Setter Property="Shell.BackgroundColor" Value="#ffff00" />
|
||||||
|
<Setter Property="Shell.ForegroundColor" Value="White" />
|
||||||
|
<Setter Property="Shell.TitleColor" Value="Red" />
|
||||||
|
<Setter Property="Shell.DisabledColor" Value="#B4FFFFFF" />
|
||||||
|
<Setter Property="Shell.UnselectedColor" Value="#95FFFFFF" />
|
||||||
|
<Setter Property="Shell.TabBarBackgroundColor" Value="Yellow" />
|
||||||
|
<Setter Property="Shell.TabBarForegroundColor" Value="Blue"/>
|
||||||
|
<Setter Property="Shell.TabBarUnselectedColor" Value="#95FFFFFF"/>
|
||||||
|
<Setter Property="Shell.TabBarTitleColor" Value="Violet"/>
|
||||||
|
</Style>
|
||||||
|
<Style TargetType="TabBar" BasedOn="{StaticResource BaseStyle}" />
|
||||||
|
</ResourceDictionary>
|
||||||
|
</Shell.Resources>
|
||||||
|
<Shell.FlyoutHeader>
|
||||||
|
<Label Text="{Binding HeaderTitle}" />
|
||||||
|
</Shell.FlyoutHeader>
|
||||||
|
|
||||||
<ShellItem Title="Accueil">
|
<ShellItem Title="Accueil">
|
||||||
<ShellContent Title="Accueil" ContentTemplate="{DataTemplate local:MainPage}" />
|
<ShellContent Title="Accueil" ContentTemplate="{DataTemplate local:MainPage}" />
|
||||||
|
|
@ -15,8 +41,20 @@
|
||||||
<ShellItem Title="Dés" FlyoutIcon="d20.png">
|
<ShellItem Title="Dés" FlyoutIcon="d20.png">
|
||||||
<ShellContent Title="Dés" ContentTemplate="{DataTemplate local:DicesPage}" />
|
<ShellContent Title="Dés" ContentTemplate="{DataTemplate local:DicesPage}" />
|
||||||
</ShellItem>
|
</ShellItem>
|
||||||
<ShellItem Title="Bibliothèque" FlyoutIcon="spell_book.png" Route="data">
|
<ShellItem Title="Bibliothèque" FlyoutIcon="spell_book.png">
|
||||||
<ShellContent Title="Bibliothèque" Icon="spell_book.png" Route="item" ContentTemplate="{DataTemplate library:ItemDetailPage}" />
|
<!--<ShellContent Title="Bibliothèque" Icon="spell_book.png" ContentTemplate="{DataTemplate library:ItemPage}" />-->
|
||||||
|
<ShellContent Title="Bibliothèque" Icon="spell_book.png">
|
||||||
|
<ShellContent.ContentTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<library:ItemPage>
|
||||||
|
<x:Arguments>
|
||||||
|
<x:String>index.md</x:String>
|
||||||
|
</x:Arguments>
|
||||||
|
</library:ItemPage>
|
||||||
|
</DataTemplate>
|
||||||
|
</ShellContent.ContentTemplate>
|
||||||
|
</ShellContent>
|
||||||
|
|
||||||
</ShellItem>
|
</ShellItem>
|
||||||
<!--<FlyoutItem Title="Héros & Dragons">
|
<!--<FlyoutItem Title="Héros & Dragons">
|
||||||
<ShellContent Title="Héros & Dragons" ContentTemplate="{DataTemplate library:ItemDetailPage}" />
|
<ShellContent Title="Héros & Dragons" ContentTemplate="{DataTemplate library:ItemDetailPage}" />
|
||||||
|
|
@ -45,42 +83,102 @@
|
||||||
<FlyoutItem Title="SRD">
|
<FlyoutItem Title="SRD">
|
||||||
<ShellContent Title="SRD" ContentTemplate="{DataTemplate library:ItemDetailPage}" />
|
<ShellContent Title="SRD" ContentTemplate="{DataTemplate library:ItemDetailPage}" />
|
||||||
</FlyoutItem>-->
|
</FlyoutItem>-->
|
||||||
|
<ShellItem Title="Manuel des Règles">
|
||||||
|
<ShellContent>
|
||||||
|
<ShellContent.ContentTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<library:ItemPage>
|
||||||
|
<x:Arguments>
|
||||||
|
<x:String>index_mdr.md</x:String>
|
||||||
|
</x:Arguments>
|
||||||
|
</library:ItemPage>
|
||||||
|
</DataTemplate>
|
||||||
|
</ShellContent.ContentTemplate>
|
||||||
|
</ShellContent>
|
||||||
|
</ShellItem>
|
||||||
|
<ShellItem Title="Cadre de Campagne">
|
||||||
|
<ShellContent>
|
||||||
|
<ShellContent.ContentTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<library:ItemPage>
|
||||||
|
<x:Arguments>
|
||||||
|
<x:String>index_cdc.md</x:String>
|
||||||
|
</x:Arguments>
|
||||||
|
</library:ItemPage>
|
||||||
|
</DataTemplate>
|
||||||
|
</ShellContent.ContentTemplate>
|
||||||
|
</ShellContent>
|
||||||
|
</ShellItem>
|
||||||
|
<ShellItem Title="Créatures et Oppositions">
|
||||||
|
<ShellContent>
|
||||||
|
<ShellContent.ContentTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<library:ItemPage>
|
||||||
|
<x:Arguments>
|
||||||
|
<x:String>index_ceo.md</x:String>
|
||||||
|
</x:Arguments>
|
||||||
|
</library:ItemPage>
|
||||||
|
</DataTemplate>
|
||||||
|
</ShellContent.ContentTemplate>
|
||||||
|
</ShellContent>
|
||||||
|
</ShellItem>
|
||||||
<ShellItem Title="Les Cinq Royaumes">
|
<ShellItem Title="Les Cinq Royaumes">
|
||||||
<ShellSection>
|
<ShellContent>
|
||||||
<ShellContent Title="test1">
|
<ShellContent.ContentTemplate>
|
||||||
<ShellContent.ContentTemplate>
|
<DataTemplate>
|
||||||
<DataTemplate>
|
<library:ItemPage>
|
||||||
<library:ItemsPage>
|
<x:Arguments>
|
||||||
<x:Arguments>
|
<x:String>l5r_index_hd.md</x:String>
|
||||||
<x:String>l5r_index_hd.md</x:String>
|
</x:Arguments>
|
||||||
</x:Arguments>
|
</library:ItemPage>
|
||||||
</library:ItemsPage>
|
</DataTemplate>
|
||||||
</DataTemplate>
|
</ShellContent.ContentTemplate>
|
||||||
</ShellContent.ContentTemplate>
|
</ShellContent>
|
||||||
</ShellContent>
|
</ShellItem>
|
||||||
<ShellContent Title="test2">
|
<ShellItem Title="Livre des Monstres">
|
||||||
<ShellContent.ContentTemplate>
|
<ShellContent>
|
||||||
<DataTemplate>
|
<ShellContent.ContentTemplate>
|
||||||
<library:ItemsPage>
|
<DataTemplate>
|
||||||
<x:Arguments>
|
<library:ItemPage>
|
||||||
<x:String>l5r_index_hd.md</x:String>
|
<x:Arguments>
|
||||||
</x:Arguments>
|
<x:String>tome_of_beasts.md</x:String>
|
||||||
</library:ItemsPage>
|
</x:Arguments>
|
||||||
</DataTemplate>
|
</library:ItemPage>
|
||||||
</ShellContent.ContentTemplate>
|
</DataTemplate>
|
||||||
</ShellContent>
|
</ShellContent.ContentTemplate>
|
||||||
<ShellContent Title="test3">
|
</ShellContent>
|
||||||
<ShellContent.ContentTemplate>
|
</ShellItem>
|
||||||
<DataTemplate>
|
<ShellItem Title="Monstrueusement Mignons">
|
||||||
<library:ItemsPage>
|
<ShellContent>
|
||||||
<x:Arguments>
|
<ShellContent.ContentTemplate>
|
||||||
<x:String>l5r_index_hd.md</x:String>
|
<DataTemplate>
|
||||||
</x:Arguments>
|
<library:ItemPage>
|
||||||
</library:ItemsPage>
|
<x:Arguments>
|
||||||
</DataTemplate>
|
<x:String>baby_bestiary.md</x:String>
|
||||||
</ShellContent.ContentTemplate>
|
</x:Arguments>
|
||||||
</ShellContent>
|
</library:ItemPage>
|
||||||
</ShellSection>
|
</DataTemplate>
|
||||||
|
</ShellContent.ContentTemplate>
|
||||||
|
</ShellContent>
|
||||||
|
</ShellItem>
|
||||||
|
<ShellItem Title="SRD">
|
||||||
|
<ShellContent>
|
||||||
|
<ShellContent.ContentTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<library:ItemPage>
|
||||||
|
<x:Arguments>
|
||||||
|
<x:String>index_srd.md</x:String>
|
||||||
|
</x:Arguments>
|
||||||
|
</library:ItemPage>
|
||||||
|
</DataTemplate>
|
||||||
|
</ShellContent.ContentTemplate>
|
||||||
|
</ShellContent>
|
||||||
|
</ShellItem>
|
||||||
|
<ShellItem Title="Favoris">
|
||||||
|
<ShellContent Title="Favoris" ContentTemplate="{DataTemplate library:BookmarksPage}" FlyoutIcon="stars_stack.png" />
|
||||||
|
</ShellItem>
|
||||||
|
<ShellItem Title="Recherche">
|
||||||
|
<ShellContent Title="Recherche" ContentTemplate="{DataTemplate library:DeepSearchPage}" FlyoutIcon="crystal_ball.png" />
|
||||||
</ShellItem>
|
</ShellItem>
|
||||||
<!--Command="{Binding ShellNavigateCommand}"
|
<!--Command="{Binding ShellNavigateCommand}"
|
||||||
CommandParameter="//data/item?path=l5r_index_hd.md"
|
CommandParameter="//data/item?path=l5r_index_hd.md"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
|
@ -10,7 +13,7 @@ using Xamarin.Forms.Xaml;
|
||||||
namespace AideDeJeu.Views
|
namespace AideDeJeu.Views
|
||||||
{
|
{
|
||||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
[XamlCompilation(XamlCompilationOptions.Compile)]
|
||||||
public partial class MainShell : Shell
|
public partial class MainShell : Shell, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
public MainShell()
|
public MainShell()
|
||||||
{
|
{
|
||||||
|
|
@ -29,5 +32,50 @@ namespace AideDeJeu.Views
|
||||||
{
|
{
|
||||||
await Shell.Current.GoToAsync(path);
|
await Shell.Current.GoToAsync(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string _HeaderTitle = string.Empty;
|
||||||
|
public string HeaderTitle
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _HeaderTitle;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
SetProperty(ref _HeaderTitle, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
protected override void OnNavigated(ShellNavigatedEventArgs args)
|
||||||
|
{
|
||||||
|
base.OnNavigated(args);
|
||||||
|
Debug.WriteLine(this.CurrentItem.CurrentItem.CurrentItem);
|
||||||
|
HeaderTitle = this.CurrentItem.CurrentItem.CurrentItem.Route;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected bool SetProperty<T>(ref T backingStore, T value,
|
||||||
|
[CallerMemberName]string propertyName = "",
|
||||||
|
Action onChanged = null)
|
||||||
|
{
|
||||||
|
if (EqualityComparer<T>.Default.Equals(backingStore, value))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
backingStore = value;
|
||||||
|
onChanged?.Invoke();
|
||||||
|
CallOnPropertyChanged(propertyName);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region INotifyPropertyChanged
|
||||||
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
protected void CallOnPropertyChanged([CallerMemberName] string propertyName = "")
|
||||||
|
{
|
||||||
|
var changed = PropertyChanged;
|
||||||
|
if (changed == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
changed.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
12
Data/HD/index_cdc.md
Normal file
12
Data/HD/index_cdc.md
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
# Cadre de campagne
|
||||||
|
|
||||||
|
## [Objets magiques](hd_magicitems.md)
|
||||||
|
|
||||||
|
### [Objets magiques de A à Z](hd_magicitems_az.md)
|
||||||
|
|
||||||
|
### [Objets magiques intelligents](hd_sentient_magicitems.md)
|
||||||
|
|
||||||
|
### [Artefacts](hd_artifacts.md)
|
||||||
|
|
||||||
|
## [Jouer dans un multivers](hd_planes.md)
|
||||||
|
|
||||||
14
Data/HD/index_ceo.md
Normal file
14
Data/HD/index_ceo.md
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Créatures et oppositions
|
||||||
|
|
||||||
|
## [Créatures](hd_monsters.md)
|
||||||
|
|
||||||
|
## [Pièges](hd_traps.md)
|
||||||
|
|
||||||
|
## [Maladies](hd_diseases.md)
|
||||||
|
|
||||||
|
## [Folie](hd_madness.md)
|
||||||
|
|
||||||
|
## [Objets](hd_objects.md)
|
||||||
|
|
||||||
|
## [Poisons](hd_poisons.md)
|
||||||
|
|
||||||
28
Data/HD/index_mdr.md
Normal file
28
Data/HD/index_mdr.md
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Manuel des règles
|
||||||
|
|
||||||
|
## [Création du personnage](hd_beyond1stlevel.md)
|
||||||
|
|
||||||
|
## [Races](hd_races.md)
|
||||||
|
|
||||||
|
## [Personnalité et Historique](hd_personnality_background.md)
|
||||||
|
|
||||||
|
## [Classes](hd_classes.md)
|
||||||
|
|
||||||
|
## [Équipement](hd_equipment.md)
|
||||||
|
|
||||||
|
## [Options de personnalisation](hd_custom_options.md)
|
||||||
|
|
||||||
|
## [Utiliser les Caractéristiques](hd_abilities.md)
|
||||||
|
|
||||||
|
## [Partir à l'aventure](hd_adventure.md)
|
||||||
|
|
||||||
|
## [Combattre](hd_combat.md)
|
||||||
|
|
||||||
|
## [Gérer la santé](hd_manage_health.md)
|
||||||
|
|
||||||
|
## [Lancer des sorts](hd_spellcasting.md)
|
||||||
|
|
||||||
|
## [Description des Sorts](hd_spells.md)
|
||||||
|
|
||||||
|
## [Panthéons](hd_pantheons.md)
|
||||||
|
|
||||||
8
Data/HD/index_srd.md
Normal file
8
Data/HD/index_srd.md
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# SRD
|
||||||
|
|
||||||
|
## [Conditions](srd_conditions.md)
|
||||||
|
|
||||||
|
## [Spells](srd_spells.md)
|
||||||
|
|
||||||
|
## [Monsters, Animals and NPC](srd_monsters.md)
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
16
Data/index_cdc.md
Normal file
16
Data/index_cdc.md
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
|
||||||
|
<!--GenericItem-->
|
||||||
|
|
||||||
|
# <!--Name-->Cadre de campagne<!--/Name-->
|
||||||
|
|
||||||
|
## [Objets magiques](magicitems_hd.md)
|
||||||
|
|
||||||
|
### [Objets magiques de A à Z](magicitems_az_hd.md)
|
||||||
|
|
||||||
|
### [Objets magiques intelligents](sentient_magicitems_hd.md)
|
||||||
|
|
||||||
|
### [Artefacts](artifacts_hd.md)
|
||||||
|
|
||||||
|
## [Jouer dans un multivers](planes_hd.md)
|
||||||
|
|
||||||
|
<!--/GenericItem-->
|
||||||
18
Data/index_ceo.md
Normal file
18
Data/index_ceo.md
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
|
||||||
|
<!--GenericItem-->
|
||||||
|
|
||||||
|
# <!--Name-->Créatures et oppositions<!--/Name-->
|
||||||
|
|
||||||
|
## [Créatures](monsters_hd.md)
|
||||||
|
|
||||||
|
## [Pièges](traps_hd.md)
|
||||||
|
|
||||||
|
## [Maladies](diseases_hd.md)
|
||||||
|
|
||||||
|
## [Folie](madness_hd.md)
|
||||||
|
|
||||||
|
## [Objets](objects_hd.md)
|
||||||
|
|
||||||
|
## [Poisons](poisons_hd.md)
|
||||||
|
|
||||||
|
<!--/GenericItem-->
|
||||||
32
Data/index_mdr.md
Normal file
32
Data/index_mdr.md
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
|
||||||
|
<!--GenericItem-->
|
||||||
|
|
||||||
|
# <!--Name-->Manuel des règles<!--/Name-->
|
||||||
|
|
||||||
|
## [Création du personnage](beyond1stlevel_hd.md)
|
||||||
|
|
||||||
|
## [Races](races_hd.md)
|
||||||
|
|
||||||
|
## [Personnalité et Historique](personnality_background_hd.md)
|
||||||
|
|
||||||
|
## [Classes](classes_hd.md)
|
||||||
|
|
||||||
|
## [Équipement](equipment_hd.md)
|
||||||
|
|
||||||
|
## [Options de personnalisation](custom_options_hd.md)
|
||||||
|
|
||||||
|
## [Utiliser les Caractéristiques](abilities_hd.md)
|
||||||
|
|
||||||
|
## [Partir à l'aventure](adventure_hd.md)
|
||||||
|
|
||||||
|
## [Combattre](combat_hd.md)
|
||||||
|
|
||||||
|
## [Gérer la santé](manage_health_hd.md)
|
||||||
|
|
||||||
|
## [Lancer des sorts](spellcasting_hd.md)
|
||||||
|
|
||||||
|
## [Description des Sorts](spells_hd.md)
|
||||||
|
|
||||||
|
## [Panthéons](pantheons_hd.md)
|
||||||
|
|
||||||
|
<!--/GenericItem-->
|
||||||
12
Data/index_srd.md
Normal file
12
Data/index_srd.md
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
|
||||||
|
<!--GenericItem-->
|
||||||
|
|
||||||
|
# <!--Name-->SRD<!--/Name-->
|
||||||
|
|
||||||
|
## [Conditions](conditions_vo.md)
|
||||||
|
|
||||||
|
## [Spells](spells_vo.md)
|
||||||
|
|
||||||
|
## [Monsters, Animals and NPC](monsters_vo.md)
|
||||||
|
|
||||||
|
<!--/GenericItem-->
|
||||||
BIN
Data/library.db
BIN
Data/library.db
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue