mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-12-16 07:10:32 +00:00
Nettoyage / renommage
This commit is contained in:
parent
8735147d3f
commit
1c35626e45
14 changed files with 251 additions and 700 deletions
|
|
@ -21,24 +21,14 @@
|
||||||
<Compile Update="Views\AboutPage.xaml.cs">
|
<Compile Update="Views\AboutPage.xaml.cs">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Update="Views\MainPage.xaml.cs">
|
|
||||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Update="Views\MonstersPage.xaml.cs">
|
|
||||||
<DependentUpon>MonstersPage.xaml</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Update="Views\MonsterDetailPage.xaml.cs">
|
<Compile Update="Views\MonsterDetailPage.xaml.cs">
|
||||||
<DependentUpon>MonsterDetailPage.xaml</DependentUpon>
|
<DependentUpon>MonsterDetailPage.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Update="Views\SpellDetailPage.xaml.cs">
|
<Compile Update="Views\SpellDetailPage.xaml.cs">
|
||||||
<DependentUpon>SpellDetailPage.xaml</DependentUpon>
|
<DependentUpon>SpellDetailPage.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Update="Views\ItemsPage.xaml.cs">
|
<Compile Update="Views\MainPage.xaml.cs">
|
||||||
<DependentUpon>ItemsPage.xaml</DependentUpon>
|
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||||
</Compile>
|
|
||||||
<Compile Update="Views\SpellsPage.xaml.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
<DependentUpon>SpellsPage.xaml</DependentUpon>
|
|
||||||
</Compile>
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,7 @@ namespace AideDeJeu
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
//MainPage = new ItemsPage();
|
MainPage = new NavigationPage(new MainPage());
|
||||||
MainPage = new NavigationPage(new ItemsPage());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnStart ()
|
protected override void OnStart ()
|
||||||
|
|
|
||||||
20
AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs
Normal file
20
AideDeJeu/AideDeJeu/ViewModels/ItemsViewModel.cs
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
using AideDeJeuLib;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using Xamarin.Forms;
|
||||||
|
|
||||||
|
namespace AideDeJeu.ViewModels
|
||||||
|
{
|
||||||
|
public abstract class ItemsViewModel : BaseViewModel
|
||||||
|
{
|
||||||
|
public ItemsViewModel(ObservableCollection<Item> items)
|
||||||
|
{
|
||||||
|
Items = items;
|
||||||
|
LoadItemsCommand = new Command(async () => await ExecuteLoadItemsCommandAsync());
|
||||||
|
}
|
||||||
|
public ObservableCollection<Item> Items { get; protected set; }
|
||||||
|
public ICommand LoadItemsCommand { get; protected set; }
|
||||||
|
public abstract Task ExecuteLoadItemsCommandAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,14 +1,7 @@
|
||||||
using System;
|
using AideDeJeuLib;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
|
|
||||||
using AideDeJeuLib.Spells;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using AideDeJeuLib;
|
|
||||||
|
|
||||||
namespace AideDeJeu.ViewModels
|
namespace AideDeJeu.ViewModels
|
||||||
{
|
{
|
||||||
public class MainViewModel : BaseViewModel
|
public class MainViewModel : BaseViewModel
|
||||||
|
|
@ -18,8 +11,8 @@ namespace AideDeJeu.ViewModels
|
||||||
Spell,
|
Spell,
|
||||||
Monster,
|
Monster,
|
||||||
}
|
}
|
||||||
public SpellsViewModel Spells { get; set; } = new SpellsViewModel();
|
public SpellsViewModel Spells { get; private set; }
|
||||||
public MonstersViewModel Monsters { get; set; } = new MonstersViewModel();
|
public MonstersViewModel Monsters { get; private set; }
|
||||||
|
|
||||||
private ItemType _ItemsType = ItemType.Spell;
|
private ItemType _ItemsType = ItemType.Spell;
|
||||||
public ItemType ItemsType
|
public ItemType ItemsType
|
||||||
|
|
@ -31,53 +24,42 @@ namespace AideDeJeu.ViewModels
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
SetProperty(ref _ItemsType, value);
|
SetProperty(ref _ItemsType, value);
|
||||||
OnPropertyChanged(nameof(Items));
|
OnPropertyChanged(nameof(CurrentViewModel));
|
||||||
LoadItemsCommand.Execute(null);
|
LoadItemsCommand.Execute(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObservableCollection<Item> Items
|
public ItemsViewModel CurrentViewModel
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (ItemsType == ItemType.Spell)
|
if (ItemsType == ItemType.Spell)
|
||||||
{
|
{
|
||||||
return Spells.Items;
|
return Spells;
|
||||||
}
|
}
|
||||||
if (ItemsType == ItemType.Monster)
|
if (ItemsType == ItemType.Monster)
|
||||||
{
|
{
|
||||||
return Monsters.Items;
|
return Monsters;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public ObservableCollection<Item> Items { get; private set; } = new ObservableCollection<Item>();
|
||||||
|
|
||||||
public Command LoadItemsCommand { get; set; }
|
public Command LoadItemsCommand { get; private set; }
|
||||||
|
|
||||||
public Command SwitchToSpells { get; set; }
|
public Command SwitchToSpells { get; private set; }
|
||||||
public Command SwitchToMonsters { get; set; }
|
public Command SwitchToMonsters { get; private set; }
|
||||||
public Command AboutCommand { get; set; }
|
public Command AboutCommand { get; private set; }
|
||||||
|
|
||||||
public MainViewModel(INavigation navigation)
|
public MainViewModel(INavigation navigation)
|
||||||
{
|
{
|
||||||
//Title = "Browse";
|
Spells = new SpellsViewModel(Items);
|
||||||
//Items = new ObservableCollection<Item>();
|
Monsters = new MonstersViewModel(Items);
|
||||||
LoadItemsCommand = new Command(async () => await ExecuteLoadItemsCommand());
|
LoadItemsCommand = new Command(async () => await CurrentViewModel.ExecuteLoadItemsCommandAsync());
|
||||||
SwitchToSpells = new Command(() => ItemsType = ItemType.Spell);
|
SwitchToSpells = new Command(() => ItemsType = ItemType.Spell);
|
||||||
SwitchToMonsters = new Command(() => ItemsType = ItemType.Monster);
|
SwitchToMonsters = new Command(() => ItemsType = ItemType.Monster);
|
||||||
AboutCommand = new Command(async() => await navigation.PushAsync(new Views.AboutPage()));
|
AboutCommand = new Command(async() => await navigation.PushAsync(new Views.AboutPage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task ExecuteLoadItemsCommand()
|
|
||||||
{
|
|
||||||
if(ItemsType == ItemType.Spell)
|
|
||||||
{
|
|
||||||
await Spells.ExecuteLoadItemsCommand();
|
|
||||||
}
|
|
||||||
else if (ItemsType == ItemType.Monster)
|
|
||||||
{
|
|
||||||
await Monsters.ExecuteLoadItemsCommand();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,20 +1,15 @@
|
||||||
using System;
|
using AideDeJeuLib;
|
||||||
|
using AideDeJeuLib.Monsters;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
using Xamarin.Forms;
|
|
||||||
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using AideDeJeuLib.Monsters;
|
|
||||||
using AideDeJeuLib;
|
|
||||||
|
|
||||||
namespace AideDeJeu.ViewModels
|
namespace AideDeJeu.ViewModels
|
||||||
{
|
{
|
||||||
public class MonstersViewModel : BaseViewModel
|
public class MonstersViewModel : ItemsViewModel
|
||||||
{
|
{
|
||||||
public ObservableCollection<Item> Items { get; set; }
|
|
||||||
|
|
||||||
public List<KeyValuePair<string, string>> Categories { get; set; } = new List<KeyValuePair<string, string>>()
|
public List<KeyValuePair<string, string>> Categories { get; set; } = new List<KeyValuePair<string, string>>()
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("", "Toutes" ),
|
new KeyValuePair<string, string>("", "Toutes" ),
|
||||||
|
|
@ -186,15 +181,12 @@ namespace AideDeJeu.ViewModels
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Command LoadItemsCommand { get; set; }
|
public MonstersViewModel(ObservableCollection<Item> items)
|
||||||
|
: base(items)
|
||||||
public MonstersViewModel()
|
|
||||||
{
|
{
|
||||||
Items = new ObservableCollection<Item>();
|
|
||||||
LoadItemsCommand = new Command(async () => await ExecuteLoadItemsCommand());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task ExecuteLoadItemsCommand()
|
public override async Task ExecuteLoadItemsCommandAsync()
|
||||||
{
|
{
|
||||||
if (IsBusy)
|
if (IsBusy)
|
||||||
return;
|
return;
|
||||||
|
|
@ -204,10 +196,10 @@ namespace AideDeJeu.ViewModels
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Items.Clear();
|
Items.Clear();
|
||||||
var items = await new MonstersScrappers().GetMonsters(category: Categories[Category].Key, type: Types[Type].Key, minPower: Powers[MinPower].Key, maxPower: Powers[MaxPower].Key, size: Sizes[Size].Key, legendary:Legendaries[Legendary].Key, source: Sources[Source].Key);
|
var monsters = await new MonstersScrappers().GetMonsters(category: Categories[Category].Key, type: Types[Type].Key, minPower: Powers[MinPower].Key, maxPower: Powers[MaxPower].Key, size: Sizes[Size].Key, legendary:Legendaries[Legendary].Key, source: Sources[Source].Key);
|
||||||
foreach (var item in items)
|
foreach (var monster in monsters)
|
||||||
{
|
{
|
||||||
Items.Add(item);
|
Items.Add(monster);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,15 @@
|
||||||
using System;
|
using AideDeJeuLib;
|
||||||
|
using AideDeJeuLib.Spells;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
using Xamarin.Forms;
|
|
||||||
|
|
||||||
using AideDeJeuLib.Spells;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using AideDeJeuLib;
|
|
||||||
|
|
||||||
namespace AideDeJeu.ViewModels
|
namespace AideDeJeu.ViewModels
|
||||||
{
|
{
|
||||||
public class SpellsViewModel : BaseViewModel
|
public class SpellsViewModel : ItemsViewModel
|
||||||
{
|
{
|
||||||
public ObservableCollection<Item> Items { get; set; }
|
|
||||||
|
|
||||||
public List<KeyValuePair<string, string>> Classes { get; set; } = new List<KeyValuePair<string, string>>()
|
public List<KeyValuePair<string, string>> Classes { get; set; } = new List<KeyValuePair<string, string>>()
|
||||||
{
|
{
|
||||||
new KeyValuePair<string, string>("", "Toutes" ),
|
new KeyValuePair<string, string>("", "Toutes" ),
|
||||||
|
|
@ -157,23 +152,12 @@ namespace AideDeJeu.ViewModels
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Command LoadItemsCommand { get; set; }
|
public SpellsViewModel(ObservableCollection<Item> items)
|
||||||
|
: base(items)
|
||||||
public SpellsViewModel()
|
|
||||||
{
|
{
|
||||||
//Title = "Browse";
|
|
||||||
Items = new ObservableCollection<Item>();
|
|
||||||
LoadItemsCommand = new Command(async () => await ExecuteLoadItemsCommand());
|
|
||||||
|
|
||||||
//MessagingCenter.Subscribe<NewItemPage, Spell>(this, "AddItem", async (obj, item) =>
|
|
||||||
//{
|
|
||||||
// var _item = item as Item;
|
|
||||||
// Items.Add(_item);
|
|
||||||
// await DataStore.AddItemAsync(_item);
|
|
||||||
//});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task ExecuteLoadItemsCommand()
|
public override async Task ExecuteLoadItemsCommandAsync()
|
||||||
{
|
{
|
||||||
if (IsBusy)
|
if (IsBusy)
|
||||||
return;
|
return;
|
||||||
|
|
@ -182,15 +166,6 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//<option value="b">Barde</option>
|
|
||||||
//<option value="c">Clerc</option>
|
|
||||||
//<option value="d">Druide</option>
|
|
||||||
//<option value="s">Ensorceleur</option>
|
|
||||||
//<option value="w">Magicien</option>
|
|
||||||
//<option value="p">Paladin</option>
|
|
||||||
//<option value="r">Rôdeur</option>
|
|
||||||
//<option value="k">Sorcier</option>
|
|
||||||
|
|
||||||
Items.Clear();
|
Items.Clear();
|
||||||
var items = await SpellsScrappers.GetSpells(classe: Classes[Classe].Key, niveauMin: NiveauMin, niveauMax: NiveauMax, ecole: Ecoles[Ecole].Key, rituel: Rituels[Rituel].Key, source: Sources[Source].Key);
|
var items = await SpellsScrappers.GetSpells(classe: Classes[Classe].Key, niveauMin: NiveauMin, niveauMax: NiveauMax, ecole: Ecoles[Ecole].Key, rituel: Rituels[Rituel].Key, source: Sources[Source].Key);
|
||||||
foreach (var item in items)
|
foreach (var item in items)
|
||||||
|
|
|
||||||
|
|
@ -1,170 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
||||||
xmlns:local="clr-namespace:AideDeJeu.Views"
|
|
||||||
xmlns:tools="clr-namespace:AideDeJeu.Tools"
|
|
||||||
x:Class="AideDeJeu.Views.ItemsPage"
|
|
||||||
x:Name="This"
|
|
||||||
IsPresented="False"
|
|
||||||
Title="{Binding ItemsType,Converter={StaticResource ItemTypeToStringConverter}}"
|
|
||||||
>
|
|
||||||
<MasterDetailPage.Resources>
|
|
||||||
<ResourceDictionary>
|
|
||||||
<ControlTemplate x:Key="SpellsMasterDataTemplate">
|
|
||||||
<ScrollView Orientation="Vertical">
|
|
||||||
<StackLayout Orientation="Vertical" Padding="15">
|
|
||||||
|
|
||||||
<Label Text="Classe" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Classes, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.Classe}" />
|
|
||||||
|
|
||||||
<Label Text="Niveau minimum" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Niveaux, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.NiveauMin}" />
|
|
||||||
|
|
||||||
<Label Text="Niveau maximum" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Niveaux, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.NiveauMax}" />
|
|
||||||
|
|
||||||
<Label Text="École" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Ecoles, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.Ecole}" />
|
|
||||||
|
|
||||||
<Label Text="Rituel" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Rituels, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.Rituel}" />
|
|
||||||
|
|
||||||
<Label Text="Source" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Sources, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.Source}" IsEnabled="False" />
|
|
||||||
</StackLayout>
|
|
||||||
</ScrollView>
|
|
||||||
</ControlTemplate>
|
|
||||||
<ControlTemplate x:Key="MonstersMasterDataTemplate">
|
|
||||||
<ScrollView Orientation="Vertical">
|
|
||||||
<StackLayout Orientation="Vertical" Padding="15">
|
|
||||||
|
|
||||||
<Label Text="Catégorie" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Categories, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Category}" />
|
|
||||||
|
|
||||||
<Label Text="Type" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Types, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Type}" />
|
|
||||||
|
|
||||||
<StackLayout Orientation="Horizontal">
|
|
||||||
<StackLayout Orientation="Vertical">
|
|
||||||
<Label Text="FP minimum" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Powers, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.MinPower}" />
|
|
||||||
</StackLayout>
|
|
||||||
|
|
||||||
<StackLayout Orientation="Vertical">
|
|
||||||
<Label Text="FP maximum" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Powers, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.MaxPower}" />
|
|
||||||
</StackLayout>
|
|
||||||
</StackLayout>
|
|
||||||
|
|
||||||
<Label Text="Taille" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Sizes, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Size}" />
|
|
||||||
|
|
||||||
<Label Text="Légendaire" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Legendaries, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Legendary}" />
|
|
||||||
|
|
||||||
<Label Text="Source" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Sources, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Source}" IsEnabled="False"/>
|
|
||||||
</StackLayout>
|
|
||||||
</ScrollView>
|
|
||||||
</ControlTemplate>
|
|
||||||
<tools:ItemTypeToStringConverter
|
|
||||||
x:Key="ItemTypeToStringConverter"
|
|
||||||
Spells="Sorts"
|
|
||||||
Monsters="Monstres" />
|
|
||||||
<tools:ItemsTypeTemplateConverter
|
|
||||||
x:Key="ItemsTypeTemplateConverter"
|
|
||||||
SpellsTemplate="{StaticResource SpellsMasterDataTemplate}"
|
|
||||||
MonstersTemplate="{StaticResource MonstersMasterDataTemplate}" />
|
|
||||||
</ResourceDictionary>
|
|
||||||
</MasterDetailPage.Resources>
|
|
||||||
<MasterDetailPage.Master>
|
|
||||||
<ContentPage Title=" ">
|
|
||||||
<ContentView ControlTemplate="{Binding ItemsType, Converter={StaticResource ItemsTypeTemplateConverter}}" BindingContext="{Binding}" />
|
|
||||||
<!--<ContentView ControlTemplate="{StaticResource SpellsMasterDataTemplate}" BindingContext="{Binding}" />-->
|
|
||||||
</ContentPage>
|
|
||||||
</MasterDetailPage.Master>
|
|
||||||
<MasterDetailPage.Detail>
|
|
||||||
<ContentPage Title="">
|
|
||||||
<ContentPage.ToolbarItems>
|
|
||||||
<ToolbarItem Name="Spells" Text="Sorts" Order="Primary" Icon="spell_book.png" Command="{Binding SwitchToSpells}" />
|
|
||||||
<ToolbarItem Name="Monsters" Text="Monstres" Order="Primary" Icon="dragon_head.png" Command="{Binding SwitchToMonsters}" />
|
|
||||||
<ToolbarItem Name="About" Text="À propos de..." Order="Primary" Icon="wooden_sign.png" Command="{Binding AboutCommand}" />
|
|
||||||
<!--<ToolbarItem Name="Home" Text="Accueil" Order="Primary" Icon="ic_home.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/" />
|
|
||||||
<ToolbarItem Name="Spells" Text="Sorts" Order="Primary" Icon="ic_home.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/" />-->
|
|
||||||
<!--<ToolbarItem Name="Blog" Text="Blog" Order="Primary" Icon="ic_blog.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Blog/" />
|
|
||||||
<ToolbarItem Name="Wikis" Text="Wikis" Order="Primary" Icon="ic_wikis.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Wiki/" />
|
|
||||||
<ToolbarItem Name="Forum" Text="Forum" Order="Primary" Icon="ic_forum.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Forum/" />
|
|
||||||
|
|
||||||
<ToolbarItem Name="Gallery2" Text="Galerie" Order="Secondary" Icon="ic_gallery.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Media/" />
|
|
||||||
<ToolbarItem Name="Plays2" Text="Parties" Order="Secondary" Icon="ic_plays.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Wiki/Parties.MainPage.ashx" />
|
|
||||||
<ToolbarItem Name="Search2" Text="Rechercher" Order="Secondary" Icon="ic_search.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/search/default.aspx" />-->
|
|
||||||
<!--<ToolbarItem Text="Profil" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/forum/yaf_cp_profile.aspx" />
|
|
||||||
<ToolbarItem Text="Messages privés" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/forum/default.aspx?g=cp_pm" />
|
|
||||||
<ToolbarItem Text="Connexion" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/login.aspx" />
|
|
||||||
<ToolbarItem Text="Déconnexion" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/logout.aspx" />
|
|
||||||
<ToolbarItem Text="Inscription" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/register.aspx" />-->
|
|
||||||
</ContentPage.ToolbarItems>
|
|
||||||
<StackLayout Orientation="Vertical">
|
|
||||||
<SearchBar />
|
|
||||||
|
|
||||||
<ListView x:Name="ItemsListView"
|
|
||||||
ItemsSource="{Binding Items}"
|
|
||||||
VerticalOptions="FillAndExpand"
|
|
||||||
HasUnevenRows="true"
|
|
||||||
RefreshCommand="{Binding LoadItemsCommand}"
|
|
||||||
IsPullToRefreshEnabled="true"
|
|
||||||
IsRefreshing="{Binding IsBusy, Mode=OneWay}"
|
|
||||||
CachingStrategy="RecycleElement"
|
|
||||||
ItemSelected="OnItemSelected">
|
|
||||||
<ListView.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<ViewCell>
|
|
||||||
<StackLayout Padding="10">
|
|
||||||
<Label Text="{Binding Name}"
|
|
||||||
LineBreakMode="NoWrap"
|
|
||||||
Style="{DynamicResource subsubsection}"
|
|
||||||
FontSize="16" />
|
|
||||||
<!--<Label Text="{Binding Description}"
|
|
||||||
LineBreakMode="NoWrap"
|
|
||||||
Style="{DynamicResource ListItemDetailTextStyle}"
|
|
||||||
FontSize="13" />-->
|
|
||||||
</StackLayout>
|
|
||||||
</ViewCell>
|
|
||||||
</DataTemplate>
|
|
||||||
</ListView.ItemTemplate>
|
|
||||||
</ListView>
|
|
||||||
<!--<WebView x:Name="MainView" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Navigating="OnNavigating" Source="{Binding Source}" />-->
|
|
||||||
<!--<ActivityIndicator x:Name="aiProgress" Color="Black" IsRunning="True" IsVisible="True" />-->
|
|
||||||
</StackLayout>
|
|
||||||
</ContentPage>
|
|
||||||
</MasterDetailPage.Detail>
|
|
||||||
</MasterDetailPage>
|
|
||||||
|
|
||||||
<!--<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
||||||
xmlns:views="clr-namespace:AideDeJeu.Views"
|
|
||||||
x:Class="AideDeJeu.Views.MainPage">
|
|
||||||
<TabbedPage.Children>
|
|
||||||
<NavigationPage Title="Browse">
|
|
||||||
<NavigationPage.Icon>
|
|
||||||
<OnPlatform x:TypeArguments="FileImageSource">
|
|
||||||
<On Platform="iOS" Value="tab_feed.png"/>
|
|
||||||
</OnPlatform>
|
|
||||||
</NavigationPage.Icon>
|
|
||||||
<x:Arguments>
|
|
||||||
<views:ItemsPage />
|
|
||||||
</x:Arguments>
|
|
||||||
</NavigationPage>
|
|
||||||
|
|
||||||
<NavigationPage Title="About">
|
|
||||||
<NavigationPage.Icon>
|
|
||||||
<OnPlatform x:TypeArguments="FileImageSource">
|
|
||||||
<On Platform="iOS" Value="tab_about.png"/>
|
|
||||||
</OnPlatform>
|
|
||||||
</NavigationPage.Icon>
|
|
||||||
<x:Arguments>
|
|
||||||
<views:AboutPage />
|
|
||||||
</x:Arguments>
|
|
||||||
</NavigationPage>
|
|
||||||
</TabbedPage.Children>
|
|
||||||
</TabbedPage>-->
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
using AideDeJeu.ViewModels;
|
|
||||||
using AideDeJeuLib.Monsters;
|
|
||||||
using AideDeJeuLib.Spells;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
using Xamarin.Forms;
|
|
||||||
using Xamarin.Forms.Xaml;
|
|
||||||
|
|
||||||
namespace AideDeJeu.Views
|
|
||||||
{
|
|
||||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
|
||||||
public partial class ItemsPage : MasterDetailPage //TabbedPage
|
|
||||||
{
|
|
||||||
MainViewModel viewModel;
|
|
||||||
|
|
||||||
public ItemsPage ()
|
|
||||||
{
|
|
||||||
InitializeComponent ();
|
|
||||||
BindingContext = viewModel = new MainViewModel(Navigation);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override bool OnBackButtonPressed()
|
|
||||||
{
|
|
||||||
IsPresented = !IsPresented;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
async void OnItemSelected(object sender, SelectedItemChangedEventArgs args)
|
|
||||||
{
|
|
||||||
if (args.SelectedItem is Spell)
|
|
||||||
{
|
|
||||||
var item = args.SelectedItem as Spell;
|
|
||||||
if (item == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var vm = new SpellDetailViewModel(item);
|
|
||||||
vm.LoadItemCommand.Execute(null);
|
|
||||||
await Navigation.PushAsync(new SpellDetailPage(vm));
|
|
||||||
}
|
|
||||||
else if (args.SelectedItem is Monster)
|
|
||||||
{
|
|
||||||
var item = args.SelectedItem as Monster;
|
|
||||||
if (item == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var vm = new MonsterDetailViewModel(item);
|
|
||||||
vm.LoadItemCommand.Execute(null);
|
|
||||||
await Navigation.PushAsync(new MonsterDetailPage(vm));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Manually deselect item.
|
|
||||||
ItemsListView.SelectedItem = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnAppearing()
|
|
||||||
{
|
|
||||||
base.OnAppearing();
|
|
||||||
|
|
||||||
if (viewModel.Items.Count == 0)
|
|
||||||
viewModel.LoadItemsCommand.Execute(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -2,22 +2,169 @@
|
||||||
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
|
<MasterDetailPage 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"
|
||||||
xmlns:local="clr-namespace:AideDeJeu.Views"
|
xmlns:local="clr-namespace:AideDeJeu.Views"
|
||||||
|
xmlns:tools="clr-namespace:AideDeJeu.Tools"
|
||||||
x:Class="AideDeJeu.Views.MainPage"
|
x:Class="AideDeJeu.Views.MainPage"
|
||||||
x:Name="This"
|
x:Name="This"
|
||||||
|
IsPresented="False"
|
||||||
|
Title="{Binding ItemsType,Converter={StaticResource ItemTypeToStringConverter}}"
|
||||||
>
|
>
|
||||||
|
<MasterDetailPage.Resources>
|
||||||
|
<ResourceDictionary>
|
||||||
|
<ControlTemplate x:Key="SpellsMasterDataTemplate">
|
||||||
|
<ScrollView Orientation="Vertical">
|
||||||
|
<StackLayout Orientation="Vertical" Padding="15">
|
||||||
|
|
||||||
|
<Label Text="Classe" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Classes, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.Classe}" />
|
||||||
|
|
||||||
|
<Label Text="Niveau minimum" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Niveaux, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.NiveauMin}" />
|
||||||
|
|
||||||
|
<Label Text="Niveau maximum" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Niveaux, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.NiveauMax}" />
|
||||||
|
|
||||||
|
<Label Text="École" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Ecoles, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.Ecole}" />
|
||||||
|
|
||||||
|
<Label Text="Rituel" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Rituels, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.Rituel}" />
|
||||||
|
|
||||||
|
<Label Text="Source" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Spells.Sources, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Spells.Source}" IsEnabled="False" />
|
||||||
|
</StackLayout>
|
||||||
|
</ScrollView>
|
||||||
|
</ControlTemplate>
|
||||||
|
<ControlTemplate x:Key="MonstersMasterDataTemplate">
|
||||||
|
<ScrollView Orientation="Vertical">
|
||||||
|
<StackLayout Orientation="Vertical" Padding="15">
|
||||||
|
|
||||||
|
<Label Text="Catégorie" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Categories, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Category}" />
|
||||||
|
|
||||||
|
<Label Text="Type" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Types, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Type}" />
|
||||||
|
|
||||||
|
<StackLayout Orientation="Horizontal">
|
||||||
|
<StackLayout Orientation="Vertical">
|
||||||
|
<Label Text="FP minimum" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Powers, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.MinPower}" />
|
||||||
|
</StackLayout>
|
||||||
|
|
||||||
|
<StackLayout Orientation="Vertical">
|
||||||
|
<Label Text="FP maximum" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Powers, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.MaxPower}" />
|
||||||
|
</StackLayout>
|
||||||
|
</StackLayout>
|
||||||
|
|
||||||
|
<Label Text="Taille" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Sizes, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Size}" />
|
||||||
|
|
||||||
|
<Label Text="Légendaire" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Legendaries, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Legendary}" />
|
||||||
|
|
||||||
|
<Label Text="Source" Style="{StaticResource Key=subsubsection}" />
|
||||||
|
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{TemplateBinding Parent.BindingContext.Monsters.Sources, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{TemplateBinding Parent.BindingContext.Monsters.Source}" IsEnabled="False"/>
|
||||||
|
</StackLayout>
|
||||||
|
</ScrollView>
|
||||||
|
</ControlTemplate>
|
||||||
|
<tools:ItemTypeToStringConverter
|
||||||
|
x:Key="ItemTypeToStringConverter"
|
||||||
|
Spells="Sorts"
|
||||||
|
Monsters="Monstres" />
|
||||||
|
<tools:ItemsTypeTemplateConverter
|
||||||
|
x:Key="ItemsTypeTemplateConverter"
|
||||||
|
SpellsTemplate="{StaticResource SpellsMasterDataTemplate}"
|
||||||
|
MonstersTemplate="{StaticResource MonstersMasterDataTemplate}" />
|
||||||
|
</ResourceDictionary>
|
||||||
|
</MasterDetailPage.Resources>
|
||||||
<MasterDetailPage.Master>
|
<MasterDetailPage.Master>
|
||||||
<ContentPage Title=" ">
|
<ContentPage Title=" ">
|
||||||
|
<ContentView ControlTemplate="{Binding ItemsType, Converter={StaticResource ItemsTypeTemplateConverter}}" BindingContext="{Binding}" />
|
||||||
|
<!--<ContentView ControlTemplate="{StaticResource SpellsMasterDataTemplate}" BindingContext="{Binding}" />-->
|
||||||
</ContentPage>
|
</ContentPage>
|
||||||
</MasterDetailPage.Master>
|
</MasterDetailPage.Master>
|
||||||
<MasterDetailPage.Detail>
|
<MasterDetailPage.Detail>
|
||||||
<ContentPage Title="Aide de Jeu">
|
<ContentPage Title="">
|
||||||
<ContentPage.ToolbarItems>
|
<ContentPage.ToolbarItems>
|
||||||
|
<ToolbarItem Name="Spells" Text="Sorts" Order="Primary" Icon="spell_book.png" Command="{Binding SwitchToSpells}" />
|
||||||
|
<ToolbarItem Name="Monsters" Text="Monstres" Order="Primary" Icon="dragon_head.png" Command="{Binding SwitchToMonsters}" />
|
||||||
|
<ToolbarItem Name="About" Text="À propos de..." Order="Primary" Icon="wooden_sign.png" Command="{Binding AboutCommand}" />
|
||||||
|
<!--<ToolbarItem Name="Home" Text="Accueil" Order="Primary" Icon="ic_home.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/" />
|
||||||
|
<ToolbarItem Name="Spells" Text="Sorts" Order="Primary" Icon="ic_home.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/" />-->
|
||||||
|
<!--<ToolbarItem Name="Blog" Text="Blog" Order="Primary" Icon="ic_blog.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Blog/" />
|
||||||
|
<ToolbarItem Name="Wikis" Text="Wikis" Order="Primary" Icon="ic_wikis.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Wiki/" />
|
||||||
|
<ToolbarItem Name="Forum" Text="Forum" Order="Primary" Icon="ic_forum.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Forum/" />
|
||||||
|
|
||||||
|
<ToolbarItem Name="Gallery2" Text="Galerie" Order="Secondary" Icon="ic_gallery.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Media/" />
|
||||||
|
<ToolbarItem Name="Plays2" Text="Parties" Order="Secondary" Icon="ic_plays.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Wiki/Parties.MainPage.ashx" />
|
||||||
|
<ToolbarItem Name="Search2" Text="Rechercher" Order="Secondary" Icon="ic_search.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/search/default.aspx" />-->
|
||||||
|
<!--<ToolbarItem Text="Profil" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/forum/yaf_cp_profile.aspx" />
|
||||||
|
<ToolbarItem Text="Messages privés" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/forum/default.aspx?g=cp_pm" />
|
||||||
|
<ToolbarItem Text="Connexion" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/login.aspx" />
|
||||||
|
<ToolbarItem Text="Déconnexion" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/logout.aspx" />
|
||||||
|
<ToolbarItem Text="Inscription" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/register.aspx" />-->
|
||||||
</ContentPage.ToolbarItems>
|
</ContentPage.ToolbarItems>
|
||||||
<StackLayout Orientation="Vertical">
|
<StackLayout Orientation="Vertical">
|
||||||
<Button Text="Liste des sorts" Clicked="OnSpellsClicked" BackgroundColor="{StaticResource titlered}" TextColor="{StaticResource bgtan}" />
|
<SearchBar />
|
||||||
<Button Text="Liste des monstres" Clicked="OnMonstersClicked" BackgroundColor="{StaticResource titlered}" TextColor="{StaticResource bgtan}" />
|
|
||||||
<Button Text="À propos de ..." Clicked="OnAboutClicked" BackgroundColor="{StaticResource titlered}" TextColor="{StaticResource bgtan}" />
|
<ListView x:Name="ItemsListView"
|
||||||
|
ItemsSource="{Binding Items}"
|
||||||
|
VerticalOptions="FillAndExpand"
|
||||||
|
HasUnevenRows="true"
|
||||||
|
RefreshCommand="{Binding LoadItemsCommand}"
|
||||||
|
IsPullToRefreshEnabled="true"
|
||||||
|
IsRefreshing="{Binding IsBusy, Mode=OneWay}"
|
||||||
|
CachingStrategy="RecycleElement"
|
||||||
|
ItemSelected="OnItemSelected">
|
||||||
|
<ListView.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<ViewCell>
|
||||||
|
<StackLayout Padding="10">
|
||||||
|
<Label Text="{Binding Name}"
|
||||||
|
LineBreakMode="NoWrap"
|
||||||
|
Style="{DynamicResource subsubsection}"
|
||||||
|
FontSize="16" />
|
||||||
|
<!--<Label Text="{Binding Description}"
|
||||||
|
LineBreakMode="NoWrap"
|
||||||
|
Style="{DynamicResource ListItemDetailTextStyle}"
|
||||||
|
FontSize="13" />-->
|
||||||
|
</StackLayout>
|
||||||
|
</ViewCell>
|
||||||
|
</DataTemplate>
|
||||||
|
</ListView.ItemTemplate>
|
||||||
|
</ListView>
|
||||||
|
<!--<WebView x:Name="MainView" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Navigating="OnNavigating" Source="{Binding Source}" />-->
|
||||||
|
<!--<ActivityIndicator x:Name="aiProgress" Color="Black" IsRunning="True" IsVisible="True" />-->
|
||||||
</StackLayout>
|
</StackLayout>
|
||||||
</ContentPage>
|
</ContentPage>
|
||||||
</MasterDetailPage.Detail>
|
</MasterDetailPage.Detail>
|
||||||
</MasterDetailPage>
|
</MasterDetailPage>
|
||||||
|
|
||||||
|
<!--<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
||||||
|
xmlns:views="clr-namespace:AideDeJeu.Views"
|
||||||
|
x:Class="AideDeJeu.Views.MainPage">
|
||||||
|
<TabbedPage.Children>
|
||||||
|
<NavigationPage Title="Browse">
|
||||||
|
<NavigationPage.Icon>
|
||||||
|
<OnPlatform x:TypeArguments="FileImageSource">
|
||||||
|
<On Platform="iOS" Value="tab_feed.png"/>
|
||||||
|
</OnPlatform>
|
||||||
|
</NavigationPage.Icon>
|
||||||
|
<x:Arguments>
|
||||||
|
<views:ItemsPage />
|
||||||
|
</x:Arguments>
|
||||||
|
</NavigationPage>
|
||||||
|
|
||||||
|
<NavigationPage Title="About">
|
||||||
|
<NavigationPage.Icon>
|
||||||
|
<OnPlatform x:TypeArguments="FileImageSource">
|
||||||
|
<On Platform="iOS" Value="tab_about.png"/>
|
||||||
|
</OnPlatform>
|
||||||
|
</NavigationPage.Icon>
|
||||||
|
<x:Arguments>
|
||||||
|
<views:AboutPage />
|
||||||
|
</x:Arguments>
|
||||||
|
</NavigationPage>
|
||||||
|
</TabbedPage.Children>
|
||||||
|
</TabbedPage>-->
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
using System;
|
using AideDeJeu.ViewModels;
|
||||||
|
using AideDeJeuLib.Monsters;
|
||||||
|
using AideDeJeuLib.Spells;
|
||||||
|
using System;
|
||||||
|
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
using Xamarin.Forms.Xaml;
|
using Xamarin.Forms.Xaml;
|
||||||
|
|
||||||
|
|
@ -7,24 +11,54 @@ namespace AideDeJeu.Views
|
||||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
[XamlCompilation(XamlCompilationOptions.Compile)]
|
||||||
public partial class MainPage : MasterDetailPage
|
public partial class MainPage : MasterDetailPage
|
||||||
{
|
{
|
||||||
|
MainViewModel viewModel;
|
||||||
|
|
||||||
public MainPage ()
|
public MainPage ()
|
||||||
{
|
{
|
||||||
InitializeComponent ();
|
InitializeComponent ();
|
||||||
|
BindingContext = viewModel = new MainViewModel(Navigation);
|
||||||
}
|
}
|
||||||
|
|
||||||
async void OnSpellsClicked(object sender, EventArgs e)
|
protected override bool OnBackButtonPressed()
|
||||||
{
|
{
|
||||||
await Navigation.PushAsync(new SpellsPage());
|
IsPresented = !IsPresented;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async void OnMonstersClicked(object sender, EventArgs e)
|
|
||||||
|
async void OnItemSelected(object sender, SelectedItemChangedEventArgs args)
|
||||||
{
|
{
|
||||||
await Navigation.PushAsync(new MonstersPage());
|
if (args.SelectedItem is Spell)
|
||||||
|
{
|
||||||
|
var item = args.SelectedItem as Spell;
|
||||||
|
if (item == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var vm = new SpellDetailViewModel(item);
|
||||||
|
vm.LoadItemCommand.Execute(null);
|
||||||
|
await Navigation.PushAsync(new SpellDetailPage(vm));
|
||||||
|
}
|
||||||
|
else if (args.SelectedItem is Monster)
|
||||||
|
{
|
||||||
|
var item = args.SelectedItem as Monster;
|
||||||
|
if (item == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var vm = new MonsterDetailViewModel(item);
|
||||||
|
vm.LoadItemCommand.Execute(null);
|
||||||
|
await Navigation.PushAsync(new MonsterDetailPage(vm));
|
||||||
}
|
}
|
||||||
|
|
||||||
async void OnAboutClicked(object sender, EventArgs e)
|
// Manually deselect item.
|
||||||
|
ItemsListView.SelectedItem = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnAppearing()
|
||||||
{
|
{
|
||||||
await Navigation.PushAsync(new AboutPage());
|
base.OnAppearing();
|
||||||
|
|
||||||
|
if (viewModel.Items.Count == 0)
|
||||||
|
viewModel.LoadItemsCommand.Execute(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,124 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
||||||
xmlns:local="clr-namespace:AideDeJeu.Views"
|
|
||||||
x:Class="AideDeJeu.Views.MonstersPage"
|
|
||||||
x:Name="This"
|
|
||||||
IsPresented="False"
|
|
||||||
Title="Liste des monstres"
|
|
||||||
>
|
|
||||||
<MasterDetailPage.Master>
|
|
||||||
<ContentPage Title="Liste des monstres">
|
|
||||||
<ScrollView Orientation="Vertical">
|
|
||||||
<StackLayout Orientation="Vertical" Padding="15">
|
|
||||||
|
|
||||||
<Label Text="Catégorie" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Categories, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Category}" />
|
|
||||||
|
|
||||||
<Label Text="Type" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Types, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Type}" />
|
|
||||||
|
|
||||||
<StackLayout Orientation="Horizontal">
|
|
||||||
<StackLayout Orientation="Vertical">
|
|
||||||
<Label Text="FP minimum" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Powers, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding MinPower}" />
|
|
||||||
</StackLayout>
|
|
||||||
|
|
||||||
<StackLayout Orientation="Vertical">
|
|
||||||
<Label Text="FP maximum" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Powers, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding MaxPower}" />
|
|
||||||
</StackLayout>
|
|
||||||
</StackLayout>
|
|
||||||
|
|
||||||
<Label Text="Taille" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Sizes, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Size}" />
|
|
||||||
|
|
||||||
<Label Text="Légendaire" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Legendaries, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Legendary}" />
|
|
||||||
|
|
||||||
<Label Text="Source" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Sources, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Source}" IsEnabled="False"/>
|
|
||||||
</StackLayout>
|
|
||||||
</ScrollView>
|
|
||||||
</ContentPage>
|
|
||||||
</MasterDetailPage.Master>
|
|
||||||
<MasterDetailPage.Detail>
|
|
||||||
<ContentPage Title="Liste des monstres">
|
|
||||||
<ContentPage.ToolbarItems>
|
|
||||||
<!--<ToolbarItem Name="Home" Text="Accueil" Order="Primary" Icon="ic_home.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/" />
|
|
||||||
<ToolbarItem Name="Spells" Text="Sorts" Order="Primary" Icon="ic_home.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/" />-->
|
|
||||||
<!--<ToolbarItem Name="Blog" Text="Blog" Order="Primary" Icon="ic_blog.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Blog/" />
|
|
||||||
<ToolbarItem Name="Wikis" Text="Wikis" Order="Primary" Icon="ic_wikis.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Wiki/" />
|
|
||||||
<ToolbarItem Name="Forum" Text="Forum" Order="Primary" Icon="ic_forum.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Forum/" />
|
|
||||||
|
|
||||||
<ToolbarItem Name="Gallery2" Text="Galerie" Order="Secondary" Icon="ic_gallery.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Media/" />
|
|
||||||
<ToolbarItem Name="Plays2" Text="Parties" Order="Secondary" Icon="ic_plays.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Wiki/Parties.MainPage.ashx" />
|
|
||||||
<ToolbarItem Name="Search2" Text="Rechercher" Order="Secondary" Icon="ic_search.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/search/default.aspx" />-->
|
|
||||||
<!--<ToolbarItem Text="Profil" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/forum/yaf_cp_profile.aspx" />
|
|
||||||
<ToolbarItem Text="Messages privés" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/forum/default.aspx?g=cp_pm" />
|
|
||||||
<ToolbarItem Text="Connexion" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/login.aspx" />
|
|
||||||
<ToolbarItem Text="Déconnexion" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/logout.aspx" />
|
|
||||||
<ToolbarItem Text="Inscription" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/register.aspx" />-->
|
|
||||||
</ContentPage.ToolbarItems>
|
|
||||||
<Grid>
|
|
||||||
<ListView x:Name="ItemsListView"
|
|
||||||
ItemsSource="{Binding Items}"
|
|
||||||
VerticalOptions="FillAndExpand"
|
|
||||||
HasUnevenRows="true"
|
|
||||||
RefreshCommand="{Binding LoadItemsCommand}"
|
|
||||||
IsPullToRefreshEnabled="true"
|
|
||||||
IsRefreshing="{Binding IsBusy, Mode=OneWay}"
|
|
||||||
CachingStrategy="RecycleElement"
|
|
||||||
ItemSelected="OnItemSelected">
|
|
||||||
<ListView.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<ViewCell>
|
|
||||||
<StackLayout Padding="10">
|
|
||||||
<Label Text="{Binding Name}"
|
|
||||||
LineBreakMode="NoWrap"
|
|
||||||
Style="{DynamicResource subsubsection}"
|
|
||||||
FontSize="16" />
|
|
||||||
<!--<Label Text="{Binding Description}"
|
|
||||||
LineBreakMode="NoWrap"
|
|
||||||
Style="{DynamicResource ListItemDetailTextStyle}"
|
|
||||||
FontSize="13" />-->
|
|
||||||
</StackLayout>
|
|
||||||
</ViewCell>
|
|
||||||
</DataTemplate>
|
|
||||||
</ListView.ItemTemplate>
|
|
||||||
</ListView>
|
|
||||||
<!--<WebView x:Name="MainView" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Navigating="OnNavigating" Source="{Binding Source}" />-->
|
|
||||||
<!--<ActivityIndicator x:Name="aiProgress" Color="Black" IsRunning="True" IsVisible="True" />-->
|
|
||||||
</Grid>
|
|
||||||
</ContentPage>
|
|
||||||
</MasterDetailPage.Detail>
|
|
||||||
</MasterDetailPage>
|
|
||||||
|
|
||||||
<!--<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
||||||
xmlns:views="clr-namespace:AideDeJeu.Views"
|
|
||||||
x:Class="AideDeJeu.Views.MainPage">
|
|
||||||
<TabbedPage.Children>
|
|
||||||
<NavigationPage Title="Browse">
|
|
||||||
<NavigationPage.Icon>
|
|
||||||
<OnPlatform x:TypeArguments="FileImageSource">
|
|
||||||
<On Platform="iOS" Value="tab_feed.png"/>
|
|
||||||
</OnPlatform>
|
|
||||||
</NavigationPage.Icon>
|
|
||||||
<x:Arguments>
|
|
||||||
<views:ItemsPage />
|
|
||||||
</x:Arguments>
|
|
||||||
</NavigationPage>
|
|
||||||
|
|
||||||
<NavigationPage Title="About">
|
|
||||||
<NavigationPage.Icon>
|
|
||||||
<OnPlatform x:TypeArguments="FileImageSource">
|
|
||||||
<On Platform="iOS" Value="tab_about.png"/>
|
|
||||||
</OnPlatform>
|
|
||||||
</NavigationPage.Icon>
|
|
||||||
<x:Arguments>
|
|
||||||
<views:AboutPage />
|
|
||||||
</x:Arguments>
|
|
||||||
</NavigationPage>
|
|
||||||
</TabbedPage.Children>
|
|
||||||
</TabbedPage>-->
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
using AideDeJeu.ViewModels;
|
|
||||||
using AideDeJeuLib.Monsters;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
using Xamarin.Forms;
|
|
||||||
using Xamarin.Forms.Xaml;
|
|
||||||
|
|
||||||
namespace AideDeJeu.Views
|
|
||||||
{
|
|
||||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
|
||||||
public partial class MonstersPage : MasterDetailPage //TabbedPage
|
|
||||||
{
|
|
||||||
MonstersViewModel viewModel;
|
|
||||||
|
|
||||||
public MonstersPage ()
|
|
||||||
{
|
|
||||||
InitializeComponent ();
|
|
||||||
|
|
||||||
BindingContext = viewModel = new MonstersViewModel();
|
|
||||||
}
|
|
||||||
|
|
||||||
async void OnItemSelected(object sender, SelectedItemChangedEventArgs args)
|
|
||||||
{
|
|
||||||
var item = args.SelectedItem as Monster;
|
|
||||||
if (item == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var spellvm = new MonsterDetailViewModel(item);
|
|
||||||
spellvm.LoadItemCommand.Execute(null);
|
|
||||||
await Navigation.PushAsync(new MonsterDetailPage(spellvm));
|
|
||||||
|
|
||||||
// Manually deselect item.
|
|
||||||
ItemsListView.SelectedItem = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
async void AddItem_Clicked(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
//await Navigation.PushModalAsync(new NavigationPage(new NewItemPage()));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnAppearing()
|
|
||||||
{
|
|
||||||
base.OnAppearing();
|
|
||||||
|
|
||||||
if (viewModel.Items.Count == 0)
|
|
||||||
viewModel.LoadItemsCommand.Execute(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,132 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
||||||
xmlns:local="clr-namespace:AideDeJeu.Views"
|
|
||||||
x:Class="AideDeJeu.Views.SpellsPage"
|
|
||||||
x:Name="This"
|
|
||||||
IsPresented="False"
|
|
||||||
Title="Liste des sorts"
|
|
||||||
>
|
|
||||||
<MasterDetailPage.Master>
|
|
||||||
<ContentPage Title="Liste des sorts">
|
|
||||||
<ScrollView Orientation="Vertical">
|
|
||||||
<StackLayout Orientation="Vertical" Padding="15">
|
|
||||||
<!--<StackLayout Orientation="Horizontal">
|
|
||||||
<Button Clicked="OnPlay" Image="ic_play.png" />
|
|
||||||
<Button Clicked="OnStop" Image="ic_stop.png" />
|
|
||||||
</StackLayout>-->
|
|
||||||
<!--<ListView x:Name="NavigationView" ItemsSource="{Binding MainMenu}">
|
|
||||||
<ListView.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<TextCell Text="{Binding Title}" TextColor="Black" Command="{Binding Path=BindingContext.OpenUrl, Source={x:Reference Name=This}}" CommandParameter="{Binding Url}" />
|
|
||||||
</DataTemplate>
|
|
||||||
</ListView.ItemTemplate>
|
|
||||||
</ListView>-->
|
|
||||||
<!--<Label Text="Liste" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand">
|
|
||||||
<Picker.Items>
|
|
||||||
<x:String>Sorts</x:String>
|
|
||||||
</Picker.Items>
|
|
||||||
</Picker>-->
|
|
||||||
|
|
||||||
<Label Text="Classe" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Classes, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Classe}" />
|
|
||||||
|
|
||||||
<Label Text="Niveau minimum" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Niveaux, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding NiveauMin}" />
|
|
||||||
|
|
||||||
<Label Text="Niveau maximum" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Niveaux, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding NiveauMax}" />
|
|
||||||
|
|
||||||
<Label Text="École" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Ecoles, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Ecole}" />
|
|
||||||
|
|
||||||
<Label Text="Rituel" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Rituels, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Rituel}" />
|
|
||||||
|
|
||||||
<Label Text="Source" Style="{StaticResource Key=subsubsection}" />
|
|
||||||
<Picker HorizontalOptions="FillAndExpand" ItemsSource="{Binding Sources, Mode=OneWay}" ItemDisplayBinding="{Binding Value, Mode=OneWay}" SelectedIndex="{Binding Source}" IsEnabled="False" />
|
|
||||||
</StackLayout>
|
|
||||||
</ScrollView>
|
|
||||||
</ContentPage>
|
|
||||||
</MasterDetailPage.Master>
|
|
||||||
<MasterDetailPage.Detail>
|
|
||||||
<ContentPage Title="Liste des sorts">
|
|
||||||
<ContentPage.ToolbarItems>
|
|
||||||
<!--<ToolbarItem Name="Home" Text="Accueil" Order="Primary" Icon="ic_home.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/" />
|
|
||||||
<ToolbarItem Name="Spells" Text="Sorts" Order="Primary" Icon="ic_home.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/" />-->
|
|
||||||
<!--<ToolbarItem Name="Blog" Text="Blog" Order="Primary" Icon="ic_blog.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Blog/" />
|
|
||||||
<ToolbarItem Name="Wikis" Text="Wikis" Order="Primary" Icon="ic_wikis.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Wiki/" />
|
|
||||||
<ToolbarItem Name="Forum" Text="Forum" Order="Primary" Icon="ic_forum.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Forum/" />
|
|
||||||
|
|
||||||
<ToolbarItem Name="Gallery2" Text="Galerie" Order="Secondary" Icon="ic_gallery.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Media/" />
|
|
||||||
<ToolbarItem Name="Plays2" Text="Parties" Order="Secondary" Icon="ic_plays.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/Wiki/Parties.MainPage.ashx" />
|
|
||||||
<ToolbarItem Name="Search2" Text="Rechercher" Order="Secondary" Icon="ic_search.png" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/search/default.aspx" />-->
|
|
||||||
<!--<ToolbarItem Text="Profil" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/forum/yaf_cp_profile.aspx" />
|
|
||||||
<ToolbarItem Text="Messages privés" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/forum/default.aspx?g=cp_pm" />
|
|
||||||
<ToolbarItem Text="Connexion" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/login.aspx" />
|
|
||||||
<ToolbarItem Text="Déconnexion" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/logout.aspx" />
|
|
||||||
<ToolbarItem Text="Inscription" Order="Secondary" Command="{Binding OpenUrl}" CommandParameter="http://www.pathfinder-fr.org/members/register.aspx" />-->
|
|
||||||
</ContentPage.ToolbarItems>
|
|
||||||
<Grid>
|
|
||||||
<ListView x:Name="ItemsListView"
|
|
||||||
ItemsSource="{Binding Items}"
|
|
||||||
VerticalOptions="FillAndExpand"
|
|
||||||
HasUnevenRows="true"
|
|
||||||
RefreshCommand="{Binding LoadItemsCommand}"
|
|
||||||
IsPullToRefreshEnabled="true"
|
|
||||||
IsRefreshing="{Binding IsBusy, Mode=OneWay}"
|
|
||||||
CachingStrategy="RecycleElement"
|
|
||||||
ItemSelected="OnItemSelected">
|
|
||||||
<ListView.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<ViewCell>
|
|
||||||
<StackLayout Padding="10">
|
|
||||||
<Label Text="{Binding Title}"
|
|
||||||
LineBreakMode="NoWrap"
|
|
||||||
Style="{DynamicResource subsubsection}"
|
|
||||||
FontSize="16" />
|
|
||||||
<!--<Label Text="{Binding Description}"
|
|
||||||
LineBreakMode="NoWrap"
|
|
||||||
Style="{DynamicResource ListItemDetailTextStyle}"
|
|
||||||
FontSize="13" />-->
|
|
||||||
</StackLayout>
|
|
||||||
</ViewCell>
|
|
||||||
</DataTemplate>
|
|
||||||
</ListView.ItemTemplate>
|
|
||||||
</ListView>
|
|
||||||
<!--<WebView x:Name="MainView" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Navigating="OnNavigating" Source="{Binding Source}" />-->
|
|
||||||
<!--<ActivityIndicator x:Name="aiProgress" Color="Black" IsRunning="True" IsVisible="True" />-->
|
|
||||||
</Grid>
|
|
||||||
</ContentPage>
|
|
||||||
</MasterDetailPage.Detail>
|
|
||||||
</MasterDetailPage>
|
|
||||||
|
|
||||||
<!--<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
||||||
xmlns:views="clr-namespace:AideDeJeu.Views"
|
|
||||||
x:Class="AideDeJeu.Views.MainPage">
|
|
||||||
<TabbedPage.Children>
|
|
||||||
<NavigationPage Title="Browse">
|
|
||||||
<NavigationPage.Icon>
|
|
||||||
<OnPlatform x:TypeArguments="FileImageSource">
|
|
||||||
<On Platform="iOS" Value="tab_feed.png"/>
|
|
||||||
</OnPlatform>
|
|
||||||
</NavigationPage.Icon>
|
|
||||||
<x:Arguments>
|
|
||||||
<views:ItemsPage />
|
|
||||||
</x:Arguments>
|
|
||||||
</NavigationPage>
|
|
||||||
|
|
||||||
<NavigationPage Title="About">
|
|
||||||
<NavigationPage.Icon>
|
|
||||||
<OnPlatform x:TypeArguments="FileImageSource">
|
|
||||||
<On Platform="iOS" Value="tab_about.png"/>
|
|
||||||
</OnPlatform>
|
|
||||||
</NavigationPage.Icon>
|
|
||||||
<x:Arguments>
|
|
||||||
<views:AboutPage />
|
|
||||||
</x:Arguments>
|
|
||||||
</NavigationPage>
|
|
||||||
</TabbedPage.Children>
|
|
||||||
</TabbedPage>-->
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
using AideDeJeu.ViewModels;
|
|
||||||
using AideDeJeuLib.Spells;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
using Xamarin.Forms;
|
|
||||||
using Xamarin.Forms.Xaml;
|
|
||||||
|
|
||||||
namespace AideDeJeu.Views
|
|
||||||
{
|
|
||||||
[XamlCompilation(XamlCompilationOptions.Compile)]
|
|
||||||
public partial class SpellsPage : MasterDetailPage //TabbedPage
|
|
||||||
{
|
|
||||||
SpellsViewModel viewModel;
|
|
||||||
|
|
||||||
public SpellsPage ()
|
|
||||||
{
|
|
||||||
InitializeComponent ();
|
|
||||||
|
|
||||||
BindingContext = viewModel = new SpellsViewModel();
|
|
||||||
}
|
|
||||||
|
|
||||||
async void OnItemSelected(object sender, SelectedItemChangedEventArgs args)
|
|
||||||
{
|
|
||||||
var item = args.SelectedItem as Spell;
|
|
||||||
if (item == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var spellvm = new SpellDetailViewModel(item);
|
|
||||||
spellvm.LoadItemCommand.Execute(null);
|
|
||||||
await Navigation.PushAsync(new SpellDetailPage(spellvm));
|
|
||||||
|
|
||||||
// Manually deselect item.
|
|
||||||
ItemsListView.SelectedItem = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
async void AddItem_Clicked(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
//await Navigation.PushModalAsync(new NavigationPage(new NewItemPage()));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override void OnAppearing()
|
|
||||||
{
|
|
||||||
base.OnAppearing();
|
|
||||||
|
|
||||||
if (viewModel.Items.Count == 0)
|
|
||||||
viewModel.LoadItemsCommand.Execute(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue