Replaced all instances of "LootFilter" with "ItemFilter"
This commit is contained in:
@@ -9,7 +9,7 @@ namespace Filtration.Converters
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
var test = (ILootFilterBlockItem)Activator.CreateInstance((Type) value);
|
||||
var test = (IItemFilterBlockItem)Activator.CreateInstance((Type) value);
|
||||
return test.DisplayHeading;
|
||||
}
|
||||
|
||||
|
||||
@@ -130,19 +130,20 @@
|
||||
<Compile Include="Models\BlockItemTypes\QualityBlockItem.cs" />
|
||||
<Compile Include="Models\BlockItemTypes\ItemLevelBlockItem.cs" />
|
||||
<Compile Include="Models\IAudioVisualBlockItem.cs" />
|
||||
<Compile Include="Models\LootFilterBlock.cs" />
|
||||
<Compile Include="Models\ILootFilterBlockItem.cs" />
|
||||
<Compile Include="Models\LootFilterScript.cs" />
|
||||
<Compile Include="Models\LootFilterSection.cs" />
|
||||
<Compile Include="Models\ItemFilterBlockGroup.cs" />
|
||||
<Compile Include="Models\ItemFilterBlock.cs" />
|
||||
<Compile Include="Models\IItemFilterBlockItem.cs" />
|
||||
<Compile Include="Models\ItemFilterScript.cs" />
|
||||
<Compile Include="Models\ItemFilterSection.cs" />
|
||||
<Compile Include="Models\NumericFilterPredicate.cs" />
|
||||
<Compile Include="Models\BlockItemBaseTypes\SocketGroupBlockItemBase.cs" />
|
||||
<Compile Include="Models\ReplaceColorsParameterSet.cs" />
|
||||
<Compile Include="Properties\Annotations.cs" />
|
||||
<Compile Include="Services\FileSystemService.cs" />
|
||||
<Compile Include="Services\LootFilterPersistenceService.cs" />
|
||||
<Compile Include="Services\ItemFilterPersistenceService.cs" />
|
||||
<Compile Include="Services\StaticDataService.cs" />
|
||||
<Compile Include="Translators\LootFilterBlockTranslator.cs" />
|
||||
<Compile Include="Translators\LootFilterScriptTranslator.cs" />
|
||||
<Compile Include="Translators\ItemFilterBlockTranslator.cs" />
|
||||
<Compile Include="Translators\ItemFilterScriptTranslator.cs" />
|
||||
<Compile Include="UserControls\AutoScrollingListBox.cs" />
|
||||
<Compile Include="UserControls\CrossButton.cs" />
|
||||
<Compile Include="UserControls\EditableListBoxControl.xaml.cs">
|
||||
@@ -153,27 +154,27 @@
|
||||
</Compile>
|
||||
<Compile Include="Utilities\LineReader.cs" />
|
||||
<Compile Include="ViewModels\FiltrationViewModelBase.cs" />
|
||||
<Compile Include="ViewModels\ILootFilterScriptViewModelFactory.cs" />
|
||||
<Compile Include="ViewModels\ILootFilterBlockViewModelFactory.cs" />
|
||||
<Compile Include="ViewModels\LootFilterBlockViewModel.cs" />
|
||||
<Compile Include="ViewModels\LootFilterScriptViewModel.cs" />
|
||||
<Compile Include="ViewModels\IItemFilterScriptViewModelFactory.cs" />
|
||||
<Compile Include="ViewModels\IItemFilterBlockViewModelFactory.cs" />
|
||||
<Compile Include="ViewModels\ItemFilterBlockViewModel.cs" />
|
||||
<Compile Include="ViewModels\ItemFilterScriptViewModel.cs" />
|
||||
<Compile Include="ViewModels\ReplaceColorsViewModel.cs" />
|
||||
<Compile Include="Views\BindingProxy.cs" />
|
||||
<Compile Include="Views\BlockTemplateSelector.cs" />
|
||||
<Compile Include="Views\LootFilterBlockDisplaySettingsView.xaml.cs">
|
||||
<DependentUpon>LootFilterBlockDisplaySettingsView.xaml</DependentUpon>
|
||||
<Compile Include="Views\ItemFilterBlockDisplaySettingsView.xaml.cs">
|
||||
<DependentUpon>ItemFilterBlockDisplaySettingsView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\LootFilterScriptView.xaml.cs">
|
||||
<DependentUpon>LootFilterScriptView.xaml</DependentUpon>
|
||||
<Compile Include="Views\ItemFilterScriptView.xaml.cs">
|
||||
<DependentUpon>ItemFilterScriptView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\LootFilterBlockView.xaml.cs">
|
||||
<DependentUpon>LootFilterBlockView.xaml</DependentUpon>
|
||||
<Compile Include="Views\ItemFilterBlockView.xaml.cs">
|
||||
<DependentUpon>ItemFilterBlockView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\NumericFilterPredicateControl.xaml.cs">
|
||||
<DependentUpon>NumericFilterPredicateControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\LootFilterSectionView.xaml.cs">
|
||||
<DependentUpon>LootFilterSectionView.xaml</DependentUpon>
|
||||
<Compile Include="Views\ItemFilterSectionView.xaml.cs">
|
||||
<DependentUpon>ItemFilterSectionView.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\AboutWindow.xaml.cs">
|
||||
<DependentUpon>AboutWindow.xaml</DependentUpon>
|
||||
@@ -206,7 +207,7 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\LootFilterBlockDisplaySettingsView.xaml">
|
||||
<Page Include="Views\ItemFilterBlockDisplaySettingsView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
@@ -214,15 +215,15 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\LootFilterScriptView.xaml">
|
||||
<Page Include="Views\ItemFilterScriptView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\LootFilterBlockView.xaml">
|
||||
<Page Include="Views\ItemFilterBlockView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\LootFilterSectionView.xaml">
|
||||
<Page Include="Views\ItemFilterSectionView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
|
||||
@@ -5,7 +5,7 @@ using Filtration.Annotations;
|
||||
|
||||
namespace Filtration.Models.BlockItemBaseTypes
|
||||
{
|
||||
abstract class BlockItemBase : ILootFilterBlockItem
|
||||
abstract class BlockItemBase : IItemFilterBlockItem
|
||||
{
|
||||
public abstract string PrefixText { get; }
|
||||
public abstract int MaximumAllowed { get; }
|
||||
|
||||
@@ -3,7 +3,7 @@ using System.Windows.Media;
|
||||
|
||||
namespace Filtration.Models
|
||||
{
|
||||
internal interface ILootFilterBlockItem : INotifyPropertyChanged
|
||||
internal interface IItemFilterBlockItem : INotifyPropertyChanged
|
||||
{
|
||||
string PrefixText { get; }
|
||||
int MaximumAllowed { get; }
|
||||
@@ -3,15 +3,14 @@ using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using Filtration.Enums;
|
||||
using Filtration.Models.BlockItemBaseTypes;
|
||||
using Filtration.Models.BlockItemTypes;
|
||||
|
||||
namespace Filtration.Models
|
||||
{
|
||||
internal class LootFilterBlock
|
||||
internal class ItemFilterBlock
|
||||
{
|
||||
public LootFilterBlock()
|
||||
public ItemFilterBlock()
|
||||
{
|
||||
BlockItems = new ObservableCollection<ILootFilterBlockItem> {new ActionBlockItem(BlockAction.Show)};
|
||||
BlockItems = new ObservableCollection<IItemFilterBlockItem> {new ActionBlockItem(BlockAction.Show)};
|
||||
}
|
||||
|
||||
public string Description { get; set; }
|
||||
@@ -30,7 +29,7 @@ namespace Filtration.Models
|
||||
}
|
||||
}
|
||||
|
||||
public ObservableCollection<ILootFilterBlockItem> BlockItems { get; private set; }
|
||||
public ObservableCollection<IItemFilterBlockItem> BlockItems { get; private set; }
|
||||
|
||||
public int BlockCount(Type type)
|
||||
{
|
||||
@@ -39,7 +38,7 @@ namespace Filtration.Models
|
||||
|
||||
public bool AddBlockItemAllowed(Type type)
|
||||
{
|
||||
var blockItem = (ILootFilterBlockItem)Activator.CreateInstance(type);
|
||||
var blockItem = (IItemFilterBlockItem)Activator.CreateInstance(type);
|
||||
return BlockCount(type) < blockItem.MaximumAllowed;
|
||||
}
|
||||
|
||||
12
Filtration/Models/ItemFilterBlockGroup.cs
Normal file
12
Filtration/Models/ItemFilterBlockGroup.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Filtration.Models
|
||||
{
|
||||
class ItemFilterBlockGroup
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -3,19 +3,17 @@ using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Linq;
|
||||
using Filtration.Models.BlockItemTypes;
|
||||
using Filtration.ViewModels;
|
||||
using Filtration.Views;
|
||||
|
||||
namespace Filtration.Models
|
||||
{
|
||||
internal class LootFilterScript
|
||||
internal class ItemFilterScript
|
||||
{
|
||||
public LootFilterScript()
|
||||
public ItemFilterScript()
|
||||
{
|
||||
LootFilterBlocks = new ObservableCollection<LootFilterBlock>();
|
||||
ItemFilterBlocks = new ObservableCollection<ItemFilterBlock>();
|
||||
}
|
||||
|
||||
public ObservableCollection<LootFilterBlock> LootFilterBlocks { get; set; }
|
||||
public ObservableCollection<ItemFilterBlock> ItemFilterBlocks { get; set; }
|
||||
public string FilePath { get; set; }
|
||||
public string Description { get; set; }
|
||||
public DateTime DateModified { get; set; }
|
||||
@@ -24,7 +22,7 @@ namespace Filtration.Models
|
||||
{
|
||||
var validationErrors = new List<string>();
|
||||
|
||||
if (LootFilterBlocks.Count == 0)
|
||||
if (ItemFilterBlocks.Count == 0)
|
||||
{
|
||||
validationErrors.Add("A script must have at least one block");
|
||||
}
|
||||
@@ -37,7 +35,7 @@ namespace Filtration.Models
|
||||
|
||||
foreach (
|
||||
var block in
|
||||
LootFilterBlocks.Where(b => BlockIsColorReplacementCandidate(replaceColorsParameterSet, b)))
|
||||
ItemFilterBlocks.Where(b => BlockIsColorReplacementCandidate(replaceColorsParameterSet, b)))
|
||||
{
|
||||
if (replaceColorsParameterSet.ReplaceTextColor)
|
||||
{
|
||||
@@ -58,7 +56,7 @@ namespace Filtration.Models
|
||||
|
||||
}
|
||||
|
||||
private bool BlockIsColorReplacementCandidate(ReplaceColorsParameterSet replaceColorsParameterSet, LootFilterBlock block)
|
||||
private bool BlockIsColorReplacementCandidate(ReplaceColorsParameterSet replaceColorsParameterSet, ItemFilterBlock block)
|
||||
{
|
||||
var textColorItem = block.HasBlockItemOfType<TextColorBlockItem>()
|
||||
? block.BlockItems.OfType<TextColorBlockItem>().First()
|
||||
6
Filtration/Models/ItemFilterSection.cs
Normal file
6
Filtration/Models/ItemFilterSection.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace Filtration.Models
|
||||
{
|
||||
internal class ItemFilterSection : ItemFilterBlock
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
namespace Filtration.Models
|
||||
{
|
||||
internal class LootFilterSection : LootFilterBlock
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ using System.Windows;
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Filtration")]
|
||||
[assembly: AssemblyDescription("A loot filter script manager for Path of Exile")]
|
||||
[assembly: AssemblyDescription("An item filter script manager for Path of Exile")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("XVar Industries Inc.")]
|
||||
[assembly: AssemblyProduct("Filtration")]
|
||||
|
||||
@@ -3,41 +3,41 @@ using Filtration.Translators;
|
||||
|
||||
namespace Filtration.Services
|
||||
{
|
||||
internal interface ILootFilterPersistenceService
|
||||
internal interface IItemFilterPersistenceService
|
||||
{
|
||||
string LootFilterScriptDirectory { get; set; }
|
||||
LootFilterScript LoadLootFilterScript(string filePath);
|
||||
void SaveLootFilterScript(LootFilterScript script);
|
||||
string ItemFilterScriptDirectory { get; set; }
|
||||
ItemFilterScript LoadItemFilterScript(string filePath);
|
||||
void SaveItemFilterScript(ItemFilterScript script);
|
||||
string DefaultPathOfExileDirectory();
|
||||
}
|
||||
|
||||
internal class LootFilterPersistenceService : ILootFilterPersistenceService
|
||||
internal class ItemFilterPersistenceService : IItemFilterPersistenceService
|
||||
{
|
||||
private readonly IFileSystemService _fileSystemService;
|
||||
private readonly ILootFilterScriptTranslator _lootFilterScriptTranslator;
|
||||
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
|
||||
|
||||
public LootFilterPersistenceService(IFileSystemService fileSystemService, ILootFilterScriptTranslator lootFilterScriptTranslator)
|
||||
public ItemFilterPersistenceService(IFileSystemService fileSystemService, IItemFilterScriptTranslator itemFilterScriptTranslator)
|
||||
{
|
||||
_fileSystemService = fileSystemService;
|
||||
_lootFilterScriptTranslator = lootFilterScriptTranslator;
|
||||
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
||||
}
|
||||
|
||||
public string LootFilterScriptDirectory { get; set; }
|
||||
public string ItemFilterScriptDirectory { get; set; }
|
||||
|
||||
public LootFilterScript LoadLootFilterScript(string filePath)
|
||||
public ItemFilterScript LoadItemFilterScript(string filePath)
|
||||
{
|
||||
var script =
|
||||
_lootFilterScriptTranslator.TranslateStringToLootFilterScript(
|
||||
_itemFilterScriptTranslator.TranslateStringToItemFilterScript(
|
||||
_fileSystemService.ReadFileAsString(filePath));
|
||||
|
||||
script.FilePath = filePath;
|
||||
return script;
|
||||
}
|
||||
|
||||
public void SaveLootFilterScript(LootFilterScript script)
|
||||
public void SaveItemFilterScript(ItemFilterScript script)
|
||||
{
|
||||
_fileSystemService.WriteFileFromString(script.FilePath,
|
||||
_lootFilterScriptTranslator.TranslateLootFilterScriptToString(script));
|
||||
_itemFilterScriptTranslator.TranslateItemFilterScriptToString(script));
|
||||
}
|
||||
|
||||
public string DefaultPathOfExileDirectory()
|
||||
@@ -13,28 +13,28 @@ using Filtration.Utilities;
|
||||
|
||||
namespace Filtration.Translators
|
||||
{
|
||||
internal interface ILootFilterBlockTranslator
|
||||
internal interface IItemFilterBlockTranslator
|
||||
{
|
||||
LootFilterBlock TranslateStringToLootFilterBlock(string inputString);
|
||||
string TranslateLootFilterBlockToString(LootFilterBlock block);
|
||||
ItemFilterBlock TranslateStringToItemFilterBlock(string inputString);
|
||||
string TranslateItemFilterBlockToString(ItemFilterBlock block);
|
||||
}
|
||||
|
||||
internal class LootFilterBlockTranslator : ILootFilterBlockTranslator
|
||||
internal class ItemFilterBlockTranslator : IItemFilterBlockTranslator
|
||||
{
|
||||
private const string Indent = " ";
|
||||
private readonly string _newLine = Environment.NewLine + Indent;
|
||||
|
||||
// This method converts a string into a LootFilterBlock. This is used for pasting LootFilterBlocks
|
||||
// and reading LootFilterScripts from a file.
|
||||
public LootFilterBlock TranslateStringToLootFilterBlock(string inputString)
|
||||
// This method converts a string into a ItemFilterBlock. This is used for pasting ItemFilterBlocks
|
||||
// and reading ItemFilterScripts from a file.
|
||||
public ItemFilterBlock TranslateStringToItemFilterBlock(string inputString)
|
||||
{
|
||||
var block = new LootFilterBlock();
|
||||
var block = new ItemFilterBlock();
|
||||
var showHideFound = false;
|
||||
foreach (var line in new LineReader(() => new StringReader(inputString)))
|
||||
{
|
||||
if (line.StartsWith(@"# Section:"))
|
||||
{
|
||||
var section = new LootFilterSection
|
||||
var section = new ItemFilterSection
|
||||
{
|
||||
Description = line.Substring(line.IndexOf(":", StringComparison.Ordinal) + 1).Trim()
|
||||
};
|
||||
@@ -215,7 +215,7 @@ namespace Filtration.Translators
|
||||
return block;
|
||||
}
|
||||
|
||||
private static void RemoveExistingBlockItemsOfType<T>(LootFilterBlock block)
|
||||
private static void RemoveExistingBlockItemsOfType<T>(ItemFilterBlock block)
|
||||
{
|
||||
var existingBlockItemCount = block.BlockItems.Count(b => b.GetType() == typeof(T));
|
||||
if (existingBlockItemCount > 0)
|
||||
@@ -225,7 +225,7 @@ namespace Filtration.Translators
|
||||
}
|
||||
}
|
||||
|
||||
private static void AddNumericFilterPredicateItemToBlockItems<T>(LootFilterBlock block, string inputString) where T : NumericFilterPredicateBlockItem
|
||||
private static void AddNumericFilterPredicateItemToBlockItems<T>(ItemFilterBlock block, string inputString) where T : NumericFilterPredicateBlockItem
|
||||
{
|
||||
var blockItem = Activator.CreateInstance<T>();
|
||||
|
||||
@@ -243,7 +243,7 @@ namespace Filtration.Translators
|
||||
predicate.PredicateOperand = Convert.ToInt16(result.Groups[2].Value);
|
||||
}
|
||||
|
||||
private static void AddStringListItemToBlockItems<T>(LootFilterBlock block, string inputString) where T : StringListBlockItem
|
||||
private static void AddStringListItemToBlockItems<T>(ItemFilterBlock block, string inputString) where T : StringListBlockItem
|
||||
{
|
||||
var blockItem = Activator.CreateInstance<T>();
|
||||
PopulateListFromString(blockItem.Items, inputString.Substring(inputString.IndexOf(" ", StringComparison.Ordinal) + 1).Trim());
|
||||
@@ -261,7 +261,7 @@ namespace Filtration.Translators
|
||||
}
|
||||
}
|
||||
|
||||
private static void AddColorItemToBlockItems<T>(LootFilterBlock block, string inputString) where T : ColorBlockItem
|
||||
private static void AddColorItemToBlockItems<T>(ItemFilterBlock block, string inputString) where T : ColorBlockItem
|
||||
{
|
||||
var blockItem = Activator.CreateInstance<T>();
|
||||
blockItem.Color = GetColorFromString(inputString);
|
||||
@@ -294,11 +294,11 @@ namespace Filtration.Translators
|
||||
return new Color();
|
||||
}
|
||||
|
||||
// This method converts a LootFilterBlock object into a string. This is used for copying a LootFilterBlock
|
||||
// to the clipboard, and when saving a LootFilterScript.
|
||||
public string TranslateLootFilterBlockToString(LootFilterBlock block)
|
||||
// This method converts a ItemFilterBlock object into a string. This is used for copying a ItemFilterBlock
|
||||
// to the clipboard, and when saving a ItemFilterScript.
|
||||
public string TranslateItemFilterBlockToString(ItemFilterBlock block)
|
||||
{
|
||||
if (block.GetType() == typeof (LootFilterSection))
|
||||
if (block.GetType() == typeof (ItemFilterSection))
|
||||
{
|
||||
return "# Section: " + block.Description;
|
||||
}
|
||||
@@ -312,7 +312,7 @@ namespace Filtration.Translators
|
||||
|
||||
outputString += block.Action.GetAttributeDescription();
|
||||
|
||||
// This could be refactored to use the upcasted NumericFilterPredicateBlockItem (or even ILootFilterBlockItem) instead
|
||||
// This could be refactored to use the upcasted NumericFilterPredicateBlockItem (or even IItemFilterBlockItem) instead
|
||||
// of the specific downcasts. Leaving it like this currently to preserve sorting since the different
|
||||
// downcasts have no defined sort order (yet).
|
||||
foreach (var blockItem in block.BlockItems.OfType<ItemLevelBlockItem>())
|
||||
@@ -7,24 +7,24 @@ using Filtration.Utilities;
|
||||
|
||||
namespace Filtration.Translators
|
||||
{
|
||||
internal interface ILootFilterScriptTranslator
|
||||
internal interface IItemFilterScriptTranslator
|
||||
{
|
||||
LootFilterScript TranslateStringToLootFilterScript(string inputString);
|
||||
string TranslateLootFilterScriptToString(LootFilterScript script);
|
||||
ItemFilterScript TranslateStringToItemFilterScript(string inputString);
|
||||
string TranslateItemFilterScriptToString(ItemFilterScript script);
|
||||
}
|
||||
|
||||
internal class LootFilterScriptTranslator : ILootFilterScriptTranslator
|
||||
internal class ItemFilterScriptTranslator : IItemFilterScriptTranslator
|
||||
{
|
||||
private readonly ILootFilterBlockTranslator _blockTranslator;
|
||||
private readonly IItemFilterBlockTranslator _blockTranslator;
|
||||
|
||||
public LootFilterScriptTranslator(ILootFilterBlockTranslator blockTranslator)
|
||||
public ItemFilterScriptTranslator(IItemFilterBlockTranslator blockTranslator)
|
||||
{
|
||||
_blockTranslator = blockTranslator;
|
||||
}
|
||||
|
||||
public LootFilterScript TranslateStringToLootFilterScript(string inputString)
|
||||
public ItemFilterScript TranslateStringToItemFilterScript(string inputString)
|
||||
{
|
||||
var script = new LootFilterScript();
|
||||
var script = new ItemFilterScript();
|
||||
inputString = inputString.Replace("\t", "");
|
||||
var conditionBoundaries = IdentifyBlockBoundaries(inputString);
|
||||
|
||||
@@ -40,8 +40,8 @@ namespace Filtration.Translators
|
||||
}
|
||||
script.Description = script.Description.TrimEnd('\n').TrimEnd('\r');
|
||||
|
||||
// Extract each block from between boundaries and translate it into a LootFilterBlock object
|
||||
// and add that object to the LootFilterBlocks list
|
||||
// Extract each block from between boundaries and translate it into a ItemFilterBlock object
|
||||
// and add that object to the ItemFilterBlocks list
|
||||
for (var boundary = conditionBoundaries.First; boundary != null; boundary = boundary.Next)
|
||||
{
|
||||
var begin = boundary.Value;
|
||||
@@ -49,7 +49,7 @@ namespace Filtration.Translators
|
||||
var block = new string[end - begin];
|
||||
Array.Copy(lines, begin, block, 0, end - begin);
|
||||
var blockString = string.Join("\r\n", block);
|
||||
script.LootFilterBlocks.Add(_blockTranslator.TranslateStringToLootFilterBlock(blockString));
|
||||
script.ItemFilterBlocks.Add(_blockTranslator.TranslateStringToItemFilterBlock(blockString));
|
||||
}
|
||||
|
||||
return script;
|
||||
@@ -78,7 +78,7 @@ namespace Filtration.Translators
|
||||
return blockBoundaries;
|
||||
}
|
||||
|
||||
public string TranslateLootFilterScriptToString(LootFilterScript script)
|
||||
public string TranslateItemFilterScriptToString(ItemFilterScript script)
|
||||
{
|
||||
var outputString = string.Empty;
|
||||
|
||||
@@ -99,9 +99,9 @@ namespace Filtration.Translators
|
||||
}
|
||||
|
||||
// ReSharper disable once LoopCanBeConvertedToQuery
|
||||
foreach (var block in script.LootFilterBlocks)
|
||||
foreach (var block in script.ItemFilterBlocks)
|
||||
{
|
||||
outputString += _blockTranslator.TranslateLootFilterBlockToString(block) + Environment.NewLine + Environment.NewLine;
|
||||
outputString += _blockTranslator.TranslateItemFilterBlockToString(block) + Environment.NewLine + Environment.NewLine;
|
||||
}
|
||||
|
||||
return outputString;
|
||||
@@ -26,7 +26,7 @@
|
||||
VerticalAlignment="Stretch" SelectionMode="Single" x:Name="ControlListBox" BorderBrush="#CCCCCC">
|
||||
<ListBox.Resources>
|
||||
<Style TargetType="ListBoxItem">
|
||||
<!-- Undo the style that we set in the parent LootFilterScriptView to hide the condition selections -->
|
||||
<!-- Undo the style that we set in the parent ItemFilterScriptView to hide the condition selections -->
|
||||
<Style.Resources>
|
||||
<!-- SelectedItem with focus -->
|
||||
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Silver" />
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Filtration.ViewModels
|
||||
{
|
||||
internal interface IItemFilterBlockViewModelFactory
|
||||
{
|
||||
IItemFilterBlockViewModel Create();
|
||||
void Release(IItemFilterBlockViewModel itemFilterBlockViewModel);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Filtration.ViewModels
|
||||
{
|
||||
internal interface IItemFilterScriptViewModelFactory
|
||||
{
|
||||
IItemFilterScriptViewModel Create();
|
||||
void Release(IItemFilterScriptViewModel itemFilterScriptViewModel);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
namespace Filtration.ViewModels
|
||||
{
|
||||
internal interface ILootFilterBlockViewModelFactory
|
||||
{
|
||||
ILootFilterBlockViewModel Create();
|
||||
void Release(ILootFilterBlockViewModel lootFilterBlockViewModel);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
namespace Filtration.ViewModels
|
||||
{
|
||||
internal interface ILootFilterScriptViewModelFactory
|
||||
{
|
||||
ILootFilterScriptViewModel Create();
|
||||
void Release(ILootFilterScriptViewModel lootFilterScriptViewModel);
|
||||
}
|
||||
}
|
||||
@@ -14,23 +14,23 @@ using GalaSoft.MvvmLight.CommandWpf;
|
||||
|
||||
namespace Filtration.ViewModels
|
||||
{
|
||||
internal interface ILootFilterBlockViewModel
|
||||
internal interface IItemFilterBlockViewModel
|
||||
{
|
||||
void Initialise(LootFilterBlock lootFilterBlock, LootFilterScriptViewModel parentScriptViewModel);
|
||||
void Initialise(ItemFilterBlock itemFilterBlock, ItemFilterScriptViewModel parentScriptViewModel);
|
||||
bool IsDirty { get; set; }
|
||||
LootFilterBlock Block { get; }
|
||||
ItemFilterBlock Block { get; }
|
||||
}
|
||||
|
||||
internal class LootFilterBlockViewModel : FiltrationViewModelBase, ILootFilterBlockViewModel
|
||||
internal class ItemFilterBlockViewModel : FiltrationViewModelBase, IItemFilterBlockViewModel
|
||||
{
|
||||
private readonly IStaticDataService _staticDataService;
|
||||
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
|
||||
private readonly MediaPlayer _mediaPlayer = new MediaPlayer();
|
||||
private LootFilterScriptViewModel _parentScriptViewModel;
|
||||
private ItemFilterScriptViewModel _parentScriptViewModel;
|
||||
|
||||
private bool _displaySettingsPopupOpen;
|
||||
|
||||
public LootFilterBlockViewModel(IStaticDataService staticDataService, IReplaceColorsViewModel replaceColorsViewModel)
|
||||
public ItemFilterBlockViewModel(IStaticDataService staticDataService, IReplaceColorsViewModel replaceColorsViewModel)
|
||||
{
|
||||
_staticDataService = staticDataService;
|
||||
_replaceColorsViewModel = replaceColorsViewModel;
|
||||
@@ -48,24 +48,24 @@ namespace Filtration.ViewModels
|
||||
AddFilterBlockItemCommand = new RelayCommand<Type>(OnAddFilterBlockItemCommand);
|
||||
ToggleBlockActionCommand = new RelayCommand(OnToggleBlockActionCommand);
|
||||
AddAudioVisualBlockItemCommand = new RelayCommand<Type>(OnAddAudioVisualBlockItemCommand);
|
||||
RemoveFilterBlockItemCommand = new RelayCommand<ILootFilterBlockItem>(OnRemoveFilterBlockItemCommand);
|
||||
RemoveAudioVisualBlockItemCommand = new RelayCommand<ILootFilterBlockItem>(OnRemoveAudioVisualBlockItemCommand);
|
||||
RemoveFilterBlockItemCommand = new RelayCommand<IItemFilterBlockItem>(OnRemoveFilterBlockItemCommand);
|
||||
RemoveAudioVisualBlockItemCommand = new RelayCommand<IItemFilterBlockItem>(OnRemoveAudioVisualBlockItemCommand);
|
||||
PlaySoundCommand = new RelayCommand(OnPlaySoundCommand, () => HasSound);
|
||||
}
|
||||
|
||||
public void Initialise(LootFilterBlock lootFilterBlock, LootFilterScriptViewModel parentScriptViewModel)
|
||||
public void Initialise(ItemFilterBlock itemFilterBlock, ItemFilterScriptViewModel parentScriptViewModel)
|
||||
{
|
||||
if (lootFilterBlock == null || parentScriptViewModel == null)
|
||||
if (itemFilterBlock == null || parentScriptViewModel == null)
|
||||
{
|
||||
throw new ArgumentNullException("lootFilterBlock");
|
||||
throw new ArgumentNullException("itemFilterBlock");
|
||||
}
|
||||
|
||||
_parentScriptViewModel = parentScriptViewModel;
|
||||
|
||||
Block = lootFilterBlock;
|
||||
lootFilterBlock.BlockItems.CollectionChanged += OnBlockItemsCollectionChanged;
|
||||
Block = itemFilterBlock;
|
||||
itemFilterBlock.BlockItems.CollectionChanged += OnBlockItemsCollectionChanged;
|
||||
|
||||
foreach (var blockItem in lootFilterBlock.BlockItems.OfType<IAudioVisualBlockItem>())
|
||||
foreach (var blockItem in itemFilterBlock.BlockItems.OfType<IAudioVisualBlockItem>())
|
||||
{
|
||||
blockItem.PropertyChanged += OnAudioVisualBlockItemChanged;
|
||||
}
|
||||
@@ -84,24 +84,24 @@ namespace Filtration.ViewModels
|
||||
public RelayCommand ReplaceColorsCommand { get; private set; }
|
||||
public RelayCommand<Type> AddFilterBlockItemCommand { get; private set; }
|
||||
public RelayCommand<Type> AddAudioVisualBlockItemCommand { get; private set; }
|
||||
public RelayCommand<ILootFilterBlockItem> RemoveFilterBlockItemCommand { get; private set; }
|
||||
public RelayCommand<ILootFilterBlockItem> RemoveAudioVisualBlockItemCommand { get; private set; }
|
||||
public RelayCommand<IItemFilterBlockItem> RemoveFilterBlockItemCommand { get; private set; }
|
||||
public RelayCommand<IItemFilterBlockItem> RemoveAudioVisualBlockItemCommand { get; private set; }
|
||||
public RelayCommand PlaySoundCommand { get; private set; }
|
||||
|
||||
public LootFilterBlock Block { get; private set; }
|
||||
public ItemFilterBlock Block { get; private set; }
|
||||
public bool IsDirty { get; set; }
|
||||
|
||||
public ObservableCollection<ILootFilterBlockItem> FilterBlockItems
|
||||
public ObservableCollection<IItemFilterBlockItem> FilterBlockItems
|
||||
{
|
||||
get { return Block.BlockItems; }
|
||||
}
|
||||
|
||||
public IEnumerable<ILootFilterBlockItem> SummaryBlockItems
|
||||
public IEnumerable<IItemFilterBlockItem> SummaryBlockItems
|
||||
{
|
||||
get { return Block.BlockItems.Where(b => !(b is IAudioVisualBlockItem)); }
|
||||
}
|
||||
|
||||
public IEnumerable<ILootFilterBlockItem> AudioVisualBlockItems
|
||||
public IEnumerable<IItemFilterBlockItem> AudioVisualBlockItems
|
||||
{
|
||||
get { return Block.BlockItems.Where(b => b is IAudioVisualBlockItem); }
|
||||
}
|
||||
@@ -261,13 +261,13 @@ namespace Filtration.ViewModels
|
||||
private void OnAddFilterBlockItemCommand(Type blockItemType)
|
||||
{
|
||||
if (!AddBlockItemAllowed(blockItemType)) return;
|
||||
var newBlockItem = (ILootFilterBlockItem) Activator.CreateInstance(blockItemType);
|
||||
var newBlockItem = (IItemFilterBlockItem) Activator.CreateInstance(blockItemType);
|
||||
|
||||
FilterBlockItems.Add(newBlockItem);
|
||||
IsDirty = true;
|
||||
}
|
||||
|
||||
private void OnRemoveFilterBlockItemCommand(ILootFilterBlockItem blockItem)
|
||||
private void OnRemoveFilterBlockItemCommand(IItemFilterBlockItem blockItem)
|
||||
{
|
||||
FilterBlockItems.Remove(blockItem);
|
||||
IsDirty = true;
|
||||
@@ -276,7 +276,7 @@ namespace Filtration.ViewModels
|
||||
private void OnAddAudioVisualBlockItemCommand(Type blockItemType)
|
||||
{
|
||||
if (!AddBlockItemAllowed(blockItemType)) return;
|
||||
var newBlockItem = (ILootFilterBlockItem) Activator.CreateInstance(blockItemType);
|
||||
var newBlockItem = (IItemFilterBlockItem) Activator.CreateInstance(blockItemType);
|
||||
|
||||
newBlockItem.PropertyChanged += OnAudioVisualBlockItemChanged;
|
||||
FilterBlockItems.Add(newBlockItem);
|
||||
@@ -284,7 +284,7 @@ namespace Filtration.ViewModels
|
||||
IsDirty = true;
|
||||
}
|
||||
|
||||
private void OnRemoveAudioVisualBlockItemCommand(ILootFilterBlockItem blockItem)
|
||||
private void OnRemoveAudioVisualBlockItemCommand(IItemFilterBlockItem blockItem)
|
||||
{
|
||||
blockItem.PropertyChanged -= OnAudioVisualBlockItemChanged;
|
||||
FilterBlockItems.Remove(blockItem);
|
||||
@@ -347,7 +347,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
private bool AddBlockItemAllowed(Type type)
|
||||
{
|
||||
var blockItem = (ILootFilterBlockItem)Activator.CreateInstance(type);
|
||||
var blockItem = (IItemFilterBlockItem)Activator.CreateInstance(type);
|
||||
var blockCount = FilterBlockItems.Count(b => b.GetType() == type);
|
||||
return blockCount < blockItem.MaximumAllowed;
|
||||
}
|
||||
@@ -10,29 +10,29 @@ using GalaSoft.MvvmLight.CommandWpf;
|
||||
|
||||
namespace Filtration.ViewModels
|
||||
{
|
||||
internal interface ILootFilterScriptViewModel
|
||||
internal interface IItemFilterScriptViewModel
|
||||
{
|
||||
LootFilterScript Script { get; }
|
||||
ItemFilterScript Script { get; }
|
||||
bool IsDirty { get; }
|
||||
string Description { get; set; }
|
||||
string DisplayName { get; }
|
||||
void Initialise(LootFilterScript lootFilterScript);
|
||||
ILootFilterBlockViewModel SelectedBlockViewModel { get; set; }
|
||||
void Initialise(ItemFilterScript itemFilterScript);
|
||||
IItemFilterBlockViewModel SelectedBlockViewModel { get; set; }
|
||||
void RemoveDirtyFlag();
|
||||
void AddSection(ILootFilterBlockViewModel targetBlockViewModel);
|
||||
void AddBlock(ILootFilterBlockViewModel targetBlockViewModel);
|
||||
void CopyBlock(ILootFilterBlockViewModel targetBlockViewModel);
|
||||
void PasteBlock(ILootFilterBlockViewModel targetBlockViewModel);
|
||||
void AddSection(IItemFilterBlockViewModel targetBlockViewModel);
|
||||
void AddBlock(IItemFilterBlockViewModel targetBlockViewModel);
|
||||
void CopyBlock(IItemFilterBlockViewModel targetBlockViewModel);
|
||||
void PasteBlock(IItemFilterBlockViewModel targetBlockViewModel);
|
||||
}
|
||||
|
||||
internal class LootFilterScriptViewModel : FiltrationViewModelBase, ILootFilterScriptViewModel
|
||||
internal class ItemFilterScriptViewModel : FiltrationViewModelBase, IItemFilterScriptViewModel
|
||||
{
|
||||
private readonly ILootFilterBlockViewModelFactory _lootFilterBlockViewModelFactory;
|
||||
private readonly ILootFilterBlockTranslator _blockTranslator;
|
||||
private readonly IItemFilterBlockViewModelFactory _itemFilterBlockViewModelFactory;
|
||||
private readonly IItemFilterBlockTranslator _blockTranslator;
|
||||
private bool _isDirty;
|
||||
private ILootFilterBlockViewModel _selectedBlockViewModel;
|
||||
private IItemFilterBlockViewModel _selectedBlockViewModel;
|
||||
|
||||
public LootFilterScriptViewModel(ILootFilterBlockViewModelFactory lootFilterBlockViewModelFactory, ILootFilterBlockTranslator blockTranslator)
|
||||
public ItemFilterScriptViewModel(IItemFilterBlockViewModelFactory itemFilterBlockViewModelFactory, IItemFilterBlockTranslator blockTranslator)
|
||||
{
|
||||
DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => SelectedBlockViewModel != null);
|
||||
MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand, () => SelectedBlockViewModel != null);
|
||||
@@ -43,9 +43,9 @@ namespace Filtration.ViewModels
|
||||
AddSectionCommand = new RelayCommand(OnAddSectionCommand, () => SelectedBlockViewModel != null);
|
||||
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand, () => SelectedBlockViewModel != null);
|
||||
PasteBlockCommand = new RelayCommand(OnPasteBlockCommand, () => SelectedBlockViewModel != null);
|
||||
_lootFilterBlockViewModelFactory = lootFilterBlockViewModelFactory;
|
||||
_itemFilterBlockViewModelFactory = itemFilterBlockViewModelFactory;
|
||||
_blockTranslator = blockTranslator;
|
||||
LootFilterBlockViewModels = new ObservableCollection<ILootFilterBlockViewModel>();
|
||||
ItemFilterBlockViewModels = new ObservableCollection<IItemFilterBlockViewModel>();
|
||||
|
||||
}
|
||||
|
||||
@@ -59,14 +59,14 @@ namespace Filtration.ViewModels
|
||||
public RelayCommand CopyBlockCommand { get; private set; }
|
||||
public RelayCommand PasteBlockCommand { get; private set; }
|
||||
|
||||
public ObservableCollection<ILootFilterBlockViewModel> LootFilterBlockViewModels { get; private set; }
|
||||
public ObservableCollection<IItemFilterBlockViewModel> ItemFilterBlockViewModels { get; private set; }
|
||||
|
||||
public IEnumerable<ILootFilterBlockViewModel> LootFilterSectionViewModels
|
||||
public IEnumerable<IItemFilterBlockViewModel> ItemFilterSectionViewModels
|
||||
{
|
||||
get { return LootFilterBlockViewModels.Where(b => b.Block.GetType() == typeof (LootFilterSection)); }
|
||||
get { return ItemFilterBlockViewModels.Where(b => b.Block.GetType() == typeof (ItemFilterSection)); }
|
||||
}
|
||||
|
||||
public ILootFilterBlockViewModel SectionBrowserSelectedViewModel { get; set; }
|
||||
public IItemFilterBlockViewModel SectionBrowserSelectedViewModel { get; set; }
|
||||
|
||||
public string Description
|
||||
{
|
||||
@@ -79,7 +79,7 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public ILootFilterBlockViewModel SelectedBlockViewModel
|
||||
public IItemFilterBlockViewModel SelectedBlockViewModel
|
||||
{
|
||||
get { return _selectedBlockViewModel; }
|
||||
set
|
||||
@@ -89,7 +89,7 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public LootFilterScript Script { get; private set; }
|
||||
public ItemFilterScript Script { get; private set; }
|
||||
|
||||
public bool IsDirty
|
||||
{
|
||||
@@ -102,12 +102,12 @@ namespace Filtration.ViewModels
|
||||
|
||||
private bool HasDirtyChildren
|
||||
{
|
||||
get { return LootFilterBlockViewModels.Any(vm => vm.IsDirty); }
|
||||
get { return ItemFilterBlockViewModels.Any(vm => vm.IsDirty); }
|
||||
}
|
||||
|
||||
private void CleanChildren()
|
||||
{
|
||||
foreach (var vm in LootFilterBlockViewModels)
|
||||
foreach (var vm in ItemFilterBlockViewModels)
|
||||
{
|
||||
vm.IsDirty = false;
|
||||
}
|
||||
@@ -136,16 +136,16 @@ namespace Filtration.ViewModels
|
||||
get { return Script.FilePath; }
|
||||
}
|
||||
|
||||
public void Initialise(LootFilterScript lootFilterScript)
|
||||
public void Initialise(ItemFilterScript itemFilterScript)
|
||||
{
|
||||
LootFilterBlockViewModels.Clear();
|
||||
ItemFilterBlockViewModels.Clear();
|
||||
|
||||
Script = lootFilterScript;
|
||||
foreach (var block in Script.LootFilterBlocks)
|
||||
Script = itemFilterScript;
|
||||
foreach (var block in Script.ItemFilterBlocks)
|
||||
{
|
||||
var vm = _lootFilterBlockViewModelFactory.Create();
|
||||
var vm = _itemFilterBlockViewModelFactory.Create();
|
||||
vm.Initialise(block, this);
|
||||
LootFilterBlockViewModels.Add(vm);
|
||||
ItemFilterBlockViewModels.Add(vm);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,9 +154,9 @@ namespace Filtration.ViewModels
|
||||
CopyBlock(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void CopyBlock(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void CopyBlock(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
Clipboard.SetText(_blockTranslator.TranslateLootFilterBlockToString(SelectedBlockViewModel.Block));
|
||||
Clipboard.SetText(_blockTranslator.TranslateItemFilterBlockToString(SelectedBlockViewModel.Block));
|
||||
}
|
||||
|
||||
private void OnPasteBlockCommand()
|
||||
@@ -164,26 +164,26 @@ namespace Filtration.ViewModels
|
||||
PasteBlock(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void PasteBlock(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void PasteBlock(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var clipboardText = Clipboard.GetText();
|
||||
if (clipboardText.IsNullOrEmpty()) return;
|
||||
|
||||
var translatedBlock = _blockTranslator.TranslateStringToLootFilterBlock(clipboardText);
|
||||
var translatedBlock = _blockTranslator.TranslateStringToItemFilterBlock(clipboardText);
|
||||
if (translatedBlock == null) return;
|
||||
|
||||
var vm = _lootFilterBlockViewModelFactory.Create();
|
||||
var vm = _itemFilterBlockViewModelFactory.Create();
|
||||
vm.Initialise(translatedBlock, this);
|
||||
|
||||
if (LootFilterBlockViewModels.Count > 0)
|
||||
if (ItemFilterBlockViewModels.Count > 0)
|
||||
{
|
||||
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, translatedBlock);
|
||||
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, translatedBlock);
|
||||
ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
}
|
||||
else
|
||||
{
|
||||
Script.LootFilterBlocks.Add(translatedBlock);
|
||||
LootFilterBlockViewModels.Add(vm);
|
||||
Script.ItemFilterBlocks.Add(translatedBlock);
|
||||
ItemFilterBlockViewModels.Add(vm);
|
||||
}
|
||||
|
||||
SelectedBlockViewModel = vm;
|
||||
@@ -197,18 +197,18 @@ namespace Filtration.ViewModels
|
||||
|
||||
}
|
||||
|
||||
public void MoveBlockToTop(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void MoveBlockToTop(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
|
||||
if (currentIndex > 0)
|
||||
{
|
||||
var block = targetBlockViewModel.Block;
|
||||
Script.LootFilterBlocks.Remove(block);
|
||||
Script.LootFilterBlocks.Insert(0, block);
|
||||
LootFilterBlockViewModels.Move(currentIndex, 0);
|
||||
Script.ItemFilterBlocks.Remove(block);
|
||||
Script.ItemFilterBlocks.Insert(0, block);
|
||||
ItemFilterBlockViewModels.Move(currentIndex, 0);
|
||||
_isDirty = true;
|
||||
RaisePropertyChanged("LootFilterSectionViewModels");
|
||||
RaisePropertyChanged("ItemFilterSectionViewModels");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -217,19 +217,19 @@ namespace Filtration.ViewModels
|
||||
MoveBlockUp(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void MoveBlockUp(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void MoveBlockUp(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
|
||||
if (currentIndex > 0)
|
||||
{
|
||||
var block = targetBlockViewModel.Block;
|
||||
var blockPos = Script.LootFilterBlocks.IndexOf(block);
|
||||
Script.LootFilterBlocks.RemoveAt(blockPos);
|
||||
Script.LootFilterBlocks.Insert(blockPos - 1, block);
|
||||
LootFilterBlockViewModels.Move(currentIndex, currentIndex - 1);
|
||||
var blockPos = Script.ItemFilterBlocks.IndexOf(block);
|
||||
Script.ItemFilterBlocks.RemoveAt(blockPos);
|
||||
Script.ItemFilterBlocks.Insert(blockPos - 1, block);
|
||||
ItemFilterBlockViewModels.Move(currentIndex, currentIndex - 1);
|
||||
_isDirty = true;
|
||||
RaisePropertyChanged("LootFilterSectionViewModels");
|
||||
RaisePropertyChanged("ItemFilterSectionViewModels");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -238,19 +238,19 @@ namespace Filtration.ViewModels
|
||||
MoveBlockDown(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void MoveBlockDown(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void MoveBlockDown(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
|
||||
if (currentIndex < LootFilterBlockViewModels.Count - 1)
|
||||
if (currentIndex < ItemFilterBlockViewModels.Count - 1)
|
||||
{
|
||||
var block = targetBlockViewModel.Block;
|
||||
var blockPos = Script.LootFilterBlocks.IndexOf(block);
|
||||
Script.LootFilterBlocks.RemoveAt(blockPos);
|
||||
Script.LootFilterBlocks.Insert(blockPos + 1, block);
|
||||
LootFilterBlockViewModels.Move(currentIndex, currentIndex + 1);
|
||||
var blockPos = Script.ItemFilterBlocks.IndexOf(block);
|
||||
Script.ItemFilterBlocks.RemoveAt(blockPos);
|
||||
Script.ItemFilterBlocks.Insert(blockPos + 1, block);
|
||||
ItemFilterBlockViewModels.Move(currentIndex, currentIndex + 1);
|
||||
_isDirty = true;
|
||||
RaisePropertyChanged("LootFilterSectionViewModels");
|
||||
RaisePropertyChanged("ItemFilterSectionViewModels");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,18 +259,18 @@ namespace Filtration.ViewModels
|
||||
MoveBlockToBottom(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void MoveBlockToBottom(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void MoveBlockToBottom(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
var currentIndex = ItemFilterBlockViewModels.IndexOf(targetBlockViewModel);
|
||||
|
||||
if (currentIndex < LootFilterBlockViewModels.Count - 1)
|
||||
if (currentIndex < ItemFilterBlockViewModels.Count - 1)
|
||||
{
|
||||
var block = targetBlockViewModel.Block;
|
||||
Script.LootFilterBlocks.Remove(block);
|
||||
Script.LootFilterBlocks.Add(block);
|
||||
LootFilterBlockViewModels.Move(currentIndex, LootFilterBlockViewModels.Count - 1);
|
||||
Script.ItemFilterBlocks.Remove(block);
|
||||
Script.ItemFilterBlocks.Add(block);
|
||||
ItemFilterBlockViewModels.Move(currentIndex, ItemFilterBlockViewModels.Count - 1);
|
||||
_isDirty = true;
|
||||
RaisePropertyChanged("LootFilterSectionViewModels");
|
||||
RaisePropertyChanged("ItemFilterSectionViewModels");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -279,21 +279,21 @@ namespace Filtration.ViewModels
|
||||
AddBlock(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void AddBlock(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void AddBlock(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var vm = _lootFilterBlockViewModelFactory.Create();
|
||||
var newBlock = new LootFilterBlock();
|
||||
var vm = _itemFilterBlockViewModelFactory.Create();
|
||||
var newBlock = new ItemFilterBlock();
|
||||
vm.Initialise(newBlock, this);
|
||||
|
||||
if (targetBlockViewModel != null)
|
||||
{
|
||||
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newBlock);
|
||||
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newBlock);
|
||||
ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
}
|
||||
else
|
||||
{
|
||||
Script.LootFilterBlocks.Add(newBlock);
|
||||
LootFilterBlockViewModels.Add(vm);
|
||||
Script.ItemFilterBlocks.Add(newBlock);
|
||||
ItemFilterBlockViewModels.Add(vm);
|
||||
}
|
||||
|
||||
SelectedBlockViewModel = vm;
|
||||
@@ -305,17 +305,17 @@ namespace Filtration.ViewModels
|
||||
AddSection(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void AddSection(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void AddSection(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var vm = _lootFilterBlockViewModelFactory.Create();
|
||||
var newSection = new LootFilterSection { Description = "New Section" };
|
||||
var vm = _itemFilterBlockViewModelFactory.Create();
|
||||
var newSection = new ItemFilterSection { Description = "New Section" };
|
||||
vm.Initialise(newSection, this);
|
||||
|
||||
Script.LootFilterBlocks.Insert(Script.LootFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newSection);
|
||||
LootFilterBlockViewModels.Insert(LootFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
Script.ItemFilterBlocks.Insert(Script.ItemFilterBlocks.IndexOf(targetBlockViewModel.Block) + 1, newSection);
|
||||
ItemFilterBlockViewModels.Insert(ItemFilterBlockViewModels.IndexOf(targetBlockViewModel) + 1, vm);
|
||||
_isDirty = true;
|
||||
SelectedBlockViewModel = vm;
|
||||
RaisePropertyChanged("LootFilterSectionViewModels");
|
||||
RaisePropertyChanged("ItemFilterSectionViewModels");
|
||||
}
|
||||
|
||||
private void OnDeleteBlockCommand()
|
||||
@@ -323,15 +323,15 @@ namespace Filtration.ViewModels
|
||||
DeleteBlock(SelectedBlockViewModel);
|
||||
}
|
||||
|
||||
public void DeleteBlock(ILootFilterBlockViewModel targetBlockViewModel)
|
||||
public void DeleteBlock(IItemFilterBlockViewModel targetBlockViewModel)
|
||||
{
|
||||
var result = MessageBox.Show("Are you sure you wish to delete this block?", "Delete Confirmation",
|
||||
MessageBoxButton.YesNo, MessageBoxImage.Question);
|
||||
|
||||
if (result == MessageBoxResult.Yes)
|
||||
{
|
||||
Script.LootFilterBlocks.Remove(targetBlockViewModel.Block);
|
||||
LootFilterBlockViewModels.Remove(targetBlockViewModel);
|
||||
Script.ItemFilterBlocks.Remove(targetBlockViewModel.Block);
|
||||
ItemFilterBlockViewModels.Remove(targetBlockViewModel);
|
||||
_isDirty = true;
|
||||
}
|
||||
SelectedBlockViewModel = null;
|
||||
@@ -21,26 +21,26 @@ namespace Filtration.ViewModels
|
||||
|
||||
internal class MainWindowViewModel : FiltrationViewModelBase, IMainWindowViewModel
|
||||
{
|
||||
private LootFilterScript _loadedScript;
|
||||
private ItemFilterScript _loadedScript;
|
||||
|
||||
private readonly ILootFilterScriptViewModelFactory _lootFilterScriptViewModelFactory;
|
||||
private readonly ILootFilterPersistenceService _persistenceService;
|
||||
private readonly ILootFilterScriptTranslator _lootFilterScriptTranslator;
|
||||
private readonly IItemFilterScriptViewModelFactory _itemFilterScriptViewModelFactory;
|
||||
private readonly IItemFilterPersistenceService _persistenceService;
|
||||
private readonly IItemFilterScriptTranslator _itemFilterScriptTranslator;
|
||||
private readonly IReplaceColorsViewModel _replaceColorsViewModel;
|
||||
private ILootFilterScriptViewModel _currentScriptViewModel;
|
||||
private readonly ObservableCollection<ILootFilterScriptViewModel> _scriptViewModels;
|
||||
private IItemFilterScriptViewModel _currentScriptViewModel;
|
||||
private readonly ObservableCollection<IItemFilterScriptViewModel> _scriptViewModels;
|
||||
|
||||
public MainWindowViewModel(ILootFilterScriptViewModelFactory lootFilterScriptViewModelFactory,
|
||||
ILootFilterPersistenceService persistenceService,
|
||||
ILootFilterScriptTranslator lootFilterScriptTranslator,
|
||||
public MainWindowViewModel(IItemFilterScriptViewModelFactory itemFilterScriptViewModelFactory,
|
||||
IItemFilterPersistenceService persistenceService,
|
||||
IItemFilterScriptTranslator itemFilterScriptTranslator,
|
||||
IReplaceColorsViewModel replaceColorsViewModel)
|
||||
{
|
||||
_lootFilterScriptViewModelFactory = lootFilterScriptViewModelFactory;
|
||||
_itemFilterScriptViewModelFactory = itemFilterScriptViewModelFactory;
|
||||
_persistenceService = persistenceService;
|
||||
_lootFilterScriptTranslator = lootFilterScriptTranslator;
|
||||
_itemFilterScriptTranslator = itemFilterScriptTranslator;
|
||||
_replaceColorsViewModel = replaceColorsViewModel;
|
||||
|
||||
_scriptViewModels = new ObservableCollection<ILootFilterScriptViewModel>();
|
||||
_scriptViewModels = new ObservableCollection<IItemFilterScriptViewModel>();
|
||||
|
||||
OpenAboutWindowCommand = new RelayCommand(OnOpenAboutWindowCommand);
|
||||
OpenScriptCommand = new RelayCommand(OnOpenScriptCommand);
|
||||
@@ -50,12 +50,12 @@ namespace Filtration.ViewModels
|
||||
CopyBlockCommand = new RelayCommand(OnCopyBlockCommand, () => CurrentScriptViewModel != null && CurrentScriptViewModel.SelectedBlockViewModel != null);
|
||||
PasteCommand = new RelayCommand(OnPasteCommand, () => CurrentScriptViewModel != null && CurrentScriptViewModel.SelectedBlockViewModel != null);
|
||||
NewScriptCommand = new RelayCommand(OnNewScriptCommand);
|
||||
CloseScriptCommand = new RelayCommand<ILootFilterScriptViewModel>(OnCloseScriptCommand, v => CurrentScriptViewModel != null);
|
||||
CloseScriptCommand = new RelayCommand<IItemFilterScriptViewModel>(OnCloseScriptCommand, v => CurrentScriptViewModel != null);
|
||||
ReplaceColorsCommand = new RelayCommand(OnReplaceColorsCommand, () => CurrentScriptViewModel != null);
|
||||
|
||||
//LoadScriptFromFile("C:\\ThioleLootFilter.txt");
|
||||
|
||||
SetLootFilterScriptDirectory();
|
||||
SetItemFilterScriptDirectory();
|
||||
}
|
||||
|
||||
public RelayCommand OpenScriptCommand { get; private set; }
|
||||
@@ -65,11 +65,11 @@ namespace Filtration.ViewModels
|
||||
public RelayCommand PasteCommand { get; private set; }
|
||||
public RelayCommand CopyScriptCommand { get; private set; }
|
||||
public RelayCommand NewScriptCommand { get; private set; }
|
||||
public RelayCommand<ILootFilterScriptViewModel> CloseScriptCommand { get; private set; }
|
||||
public RelayCommand<IItemFilterScriptViewModel> CloseScriptCommand { get; private set; }
|
||||
public RelayCommand OpenAboutWindowCommand { get; private set; }
|
||||
public RelayCommand ReplaceColorsCommand { get; private set; }
|
||||
|
||||
public ObservableCollection<ILootFilterScriptViewModel> ScriptViewModels
|
||||
public ObservableCollection<IItemFilterScriptViewModel> ScriptViewModels
|
||||
{
|
||||
get { return _scriptViewModels; }
|
||||
}
|
||||
@@ -85,7 +85,7 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
|
||||
[DoNotWire]
|
||||
public ILootFilterScriptViewModel CurrentScriptViewModel
|
||||
public IItemFilterScriptViewModel CurrentScriptViewModel
|
||||
{
|
||||
get { return _currentScriptViewModel; }
|
||||
set
|
||||
@@ -114,7 +114,7 @@ namespace Filtration.ViewModels
|
||||
var openFileDialog = new OpenFileDialog
|
||||
{
|
||||
Filter = "Filter Files (*.filter)|*.filter|All Files (*.*)|*.*",
|
||||
InitialDirectory = _persistenceService.LootFilterScriptDirectory
|
||||
InitialDirectory = _persistenceService.ItemFilterScriptDirectory
|
||||
};
|
||||
|
||||
if (openFileDialog.ShowDialog() != true) return;
|
||||
@@ -126,7 +126,7 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
try
|
||||
{
|
||||
_loadedScript = _persistenceService.LoadLootFilterScript(path);
|
||||
_loadedScript = _persistenceService.LoadItemFilterScript(path);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -135,18 +135,18 @@ namespace Filtration.ViewModels
|
||||
return;
|
||||
}
|
||||
|
||||
var newViewModel = _lootFilterScriptViewModelFactory.Create();
|
||||
var newViewModel = _itemFilterScriptViewModelFactory.Create();
|
||||
newViewModel.Initialise(_loadedScript);
|
||||
ScriptViewModels.Add(newViewModel);
|
||||
CurrentScriptViewModel = newViewModel;
|
||||
}
|
||||
|
||||
private void SetLootFilterScriptDirectory()
|
||||
private void SetItemFilterScriptDirectory()
|
||||
{
|
||||
var defaultDir = _persistenceService.DefaultPathOfExileDirectory();
|
||||
if (!string.IsNullOrEmpty(defaultDir))
|
||||
{
|
||||
_persistenceService.LootFilterScriptDirectory = defaultDir;
|
||||
_persistenceService.ItemFilterScriptDirectory = defaultDir;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -159,7 +159,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
if (result == DialogResult.OK)
|
||||
{
|
||||
_persistenceService.LootFilterScriptDirectory = dlg.SelectedPath;
|
||||
_persistenceService.ItemFilterScriptDirectory = dlg.SelectedPath;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -176,7 +176,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
try
|
||||
{
|
||||
_persistenceService.SaveLootFilterScript(CurrentScriptViewModel.Script);
|
||||
_persistenceService.SaveItemFilterScript(CurrentScriptViewModel.Script);
|
||||
CurrentScriptViewModel.RemoveDirtyFlag();
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -195,7 +195,7 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
DefaultExt = ".filter",
|
||||
Filter = @"Filter Files (*.filter)|*.filter|All Files (*.*)|*.*",
|
||||
InitialDirectory = _persistenceService.LootFilterScriptDirectory
|
||||
InitialDirectory = _persistenceService.ItemFilterScriptDirectory
|
||||
};
|
||||
|
||||
var result = saveDialog.ShowDialog();
|
||||
@@ -206,7 +206,7 @@ namespace Filtration.ViewModels
|
||||
try
|
||||
{
|
||||
CurrentScriptViewModel.Script.FilePath = saveDialog.FileName;
|
||||
_persistenceService.SaveLootFilterScript(CurrentScriptViewModel.Script);
|
||||
_persistenceService.SaveItemFilterScript(CurrentScriptViewModel.Script);
|
||||
CurrentScriptViewModel.RemoveDirtyFlag();
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -245,7 +245,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
private void OnCopyScriptCommand()
|
||||
{
|
||||
Clipboard.SetText(_lootFilterScriptTranslator.TranslateLootFilterScriptToString(_currentScriptViewModel.Script));
|
||||
Clipboard.SetText(_itemFilterScriptTranslator.TranslateItemFilterScriptToString(_currentScriptViewModel.Script));
|
||||
}
|
||||
|
||||
private void OnCopyBlockCommand()
|
||||
@@ -260,15 +260,15 @@ namespace Filtration.ViewModels
|
||||
|
||||
private void OnNewScriptCommand()
|
||||
{
|
||||
var newScript = new LootFilterScript();
|
||||
var newViewModel = _lootFilterScriptViewModelFactory.Create();
|
||||
var newScript = new ItemFilterScript();
|
||||
var newViewModel = _itemFilterScriptViewModelFactory.Create();
|
||||
newViewModel.Initialise(newScript);
|
||||
newViewModel.Description = "New Script";
|
||||
ScriptViewModels.Add(newViewModel);
|
||||
CurrentScriptViewModel = newViewModel;
|
||||
}
|
||||
|
||||
private void OnCloseScriptCommand(ILootFilterScriptViewModel scriptViewModel)
|
||||
private void OnCloseScriptCommand(IItemFilterScriptViewModel scriptViewModel)
|
||||
{
|
||||
CurrentScriptViewModel = scriptViewModel;
|
||||
if (!CurrentScriptViewModel.IsDirty)
|
||||
|
||||
@@ -8,13 +8,13 @@ namespace Filtration.ViewModels
|
||||
{
|
||||
internal interface IReplaceColorsViewModel
|
||||
{
|
||||
void Initialise(LootFilterScript lootFilterScript, LootFilterBlock initialiseFromBlock);
|
||||
void Initialise(LootFilterScript lootFilterScript);
|
||||
void Initialise(ItemFilterScript itemFilterScript, ItemFilterBlock initialiseFromBlock);
|
||||
void Initialise(ItemFilterScript itemFilterScript);
|
||||
}
|
||||
|
||||
internal class ReplaceColorsViewModel : FiltrationViewModelBase, IReplaceColorsViewModel
|
||||
{
|
||||
private LootFilterScript _lootFilterScript;
|
||||
private ItemFilterScript _itemFilterScript;
|
||||
private ReplaceColorsParameterSet _replaceColorsParameterSet;
|
||||
|
||||
public ReplaceColorsViewModel()
|
||||
@@ -24,7 +24,7 @@ namespace Filtration.ViewModels
|
||||
|
||||
public RelayCommand ReplaceColorsCommand { get; private set; }
|
||||
|
||||
public void Initialise(LootFilterScript lootFilterScript, LootFilterBlock initialiseFromBlock)
|
||||
public void Initialise(ItemFilterScript itemFilterScript, ItemFilterBlock initialiseFromBlock)
|
||||
{
|
||||
_replaceColorsParameterSet = new ReplaceColorsParameterSet();
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace Filtration.ViewModels
|
||||
_replaceColorsParameterSet.NewBorderColor = existingBlockColor;
|
||||
}
|
||||
|
||||
_lootFilterScript = lootFilterScript;
|
||||
_itemFilterScript = itemFilterScript;
|
||||
}
|
||||
|
||||
public Color NewTextColor
|
||||
@@ -159,15 +159,15 @@ namespace Filtration.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
public void Initialise(LootFilterScript lootFilterScript)
|
||||
public void Initialise(ItemFilterScript itemFilterScript)
|
||||
{
|
||||
_replaceColorsParameterSet = new ReplaceColorsParameterSet();
|
||||
_lootFilterScript = lootFilterScript;
|
||||
_itemFilterScript = itemFilterScript;
|
||||
}
|
||||
|
||||
private void OnReplaceColorsCommand()
|
||||
{
|
||||
_lootFilterScript.ReplaceColors(_replaceColorsParameterSet);
|
||||
_itemFilterScript.ReplaceColors(_replaceColorsParameterSet);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,18 +9,18 @@ namespace Filtration.Views
|
||||
{
|
||||
public override DataTemplate SelectTemplate(object item, DependencyObject container)
|
||||
{
|
||||
var viewModel = item as LootFilterBlockViewModel;
|
||||
var viewModel = item as ItemFilterBlockViewModel;
|
||||
var element = container as FrameworkElement;
|
||||
|
||||
if (viewModel == null || element == null)
|
||||
return null;
|
||||
|
||||
if (viewModel.Block is LootFilterSection)
|
||||
if (viewModel.Block is ItemFilterSection)
|
||||
{
|
||||
return element.FindResource("LootFilterSectionTemplate") as DataTemplate;
|
||||
return element.FindResource("ItemFilterSectionTemplate") as DataTemplate;
|
||||
}
|
||||
|
||||
return element.FindResource("LootFilterBlockTemplate") as DataTemplate;
|
||||
return element.FindResource("ItemFilterBlockTemplate") as DataTemplate;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<UserControl x:Class="Filtration.Views.LootFilterBlockDisplaySettingsView"
|
||||
<UserControl x:Class="Filtration.Views.ItemFilterBlockDisplaySettingsView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
@@ -10,7 +10,7 @@
|
||||
xmlns:blockItemTypes="clr-namespace:Filtration.Models.BlockItemTypes"
|
||||
xmlns:componentModel="clr-namespace:System.ComponentModel;assembly=WindowsBase"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:LootFilterBlockViewModel}"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
|
||||
d:DesignHeight="120" d:DesignWidth="175">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
10
Filtration/Views/ItemFilterBlockDisplaySettingsView.xaml.cs
Normal file
10
Filtration/Views/ItemFilterBlockDisplaySettingsView.xaml.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace Filtration.Views
|
||||
{
|
||||
public partial class ItemFilterBlockDisplaySettingsView
|
||||
{
|
||||
public ItemFilterBlockDisplaySettingsView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<UserControl x:Class="Filtration.Views.LootFilterBlockView"
|
||||
<UserControl x:Class="Filtration.Views.ItemFilterBlockView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
@@ -11,7 +11,7 @@
|
||||
xmlns:enums="clr-namespace:Filtration.Enums"
|
||||
xmlns:extensions="clr-namespace:Filtration.Extensions"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:LootFilterBlockViewModel}"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
|
||||
d:DesignHeight="200" d:DesignWidth="800">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
@@ -114,7 +114,7 @@
|
||||
AllowsTransparency="True"
|
||||
HorizontalOffset="-5"
|
||||
Width="250">
|
||||
<views:LootFilterBlockDisplaySettingsView />
|
||||
<views:ItemFilterBlockDisplaySettingsView />
|
||||
</Popup>
|
||||
</Grid>
|
||||
</Expander.Header>
|
||||
@@ -1,8 +1,8 @@
|
||||
namespace Filtration.Views
|
||||
{
|
||||
public partial class LootFilterBlockView
|
||||
public partial class ItemFilterBlockView
|
||||
{
|
||||
public LootFilterBlockView()
|
||||
public ItemFilterBlockView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<UserControl x:Class="Filtration.Views.LootFilterScriptView"
|
||||
<UserControl x:Class="Filtration.Views.ItemFilterScriptView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
@@ -7,19 +7,19 @@
|
||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
||||
xmlns:userControls="clr-namespace:Filtration.UserControls"
|
||||
mc:Ignorable="d"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:LootFilterScriptViewModel}"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterScriptViewModel}"
|
||||
d:DesignHeight="300" d:DesignWidth="600">
|
||||
<UserControl.Resources>
|
||||
<ResourceDictionary>
|
||||
<ResourceDictionary.MergedDictionaries>
|
||||
<ResourceDictionary>
|
||||
<!-- ReSharper disable once Xaml.RedundantResource -->
|
||||
<DataTemplate x:Key="LootFilterBlockTemplate">
|
||||
<views:LootFilterBlockView Margin="0,2,0,2" />
|
||||
<DataTemplate x:Key="ItemFilterBlockTemplate">
|
||||
<views:ItemFilterBlockView Margin="0,2,0,2" />
|
||||
</DataTemplate>
|
||||
<!-- ReSharper disable once Xaml.RedundantResource -->
|
||||
<DataTemplate x:Key="LootFilterSectionTemplate">
|
||||
<views:LootFilterSectionView Margin="0,2,0,2" />
|
||||
<DataTemplate x:Key="ItemFilterSectionTemplate">
|
||||
<views:ItemFilterSectionView Margin="0,2,0,2" />
|
||||
</DataTemplate>
|
||||
<views:BlockTemplateSelector x:Key="BlockTemplateSelector" />
|
||||
</ResourceDictionary>
|
||||
@@ -67,7 +67,7 @@
|
||||
</TextBlock.LayoutTransform>
|
||||
</TextBlock>
|
||||
</Expander.Header>
|
||||
<ListBox ItemsSource="{Binding LootFilterSectionViewModels}"
|
||||
<ListBox ItemsSource="{Binding ItemFilterSectionViewModels}"
|
||||
SelectedItem="{Binding SectionBrowserSelectedViewModel}"
|
||||
x:Name="SectionBrowserListBox"
|
||||
SelectionChanged="SectionBrowserListBox_OnSelectionChanged"
|
||||
@@ -79,7 +79,7 @@
|
||||
</ListBox.ItemTemplate>
|
||||
</ListBox>
|
||||
</Expander>
|
||||
<userControls:AutoScrollingListBox ItemsSource="{Binding LootFilterBlockViewModels}"
|
||||
<userControls:AutoScrollingListBox ItemsSource="{Binding ItemFilterBlockViewModels}"
|
||||
Margin="5,5,5,5"
|
||||
Padding="5"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
namespace Filtration.Views
|
||||
{
|
||||
public partial class LootFilterScriptView
|
||||
public partial class ItemFilterScriptView
|
||||
{
|
||||
public LootFilterScriptView()
|
||||
public ItemFilterScriptView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
<UserControl x:Class="Filtration.Views.LootFilterSectionView"
|
||||
<UserControl x:Class="Filtration.Views.ItemFilterSectionView"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:viewModels="clr-namespace:Filtration.ViewModels"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:LootFilterBlockViewModel}"
|
||||
d:DataContext="{d:DesignInstance Type=viewModels:ItemFilterBlockViewModel}"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="50" d:DesignWidth="300">
|
||||
<UserControl.Resources>
|
||||
@@ -1,8 +1,8 @@
|
||||
namespace Filtration.Views
|
||||
{
|
||||
public partial class LootFilterSectionView
|
||||
public partial class ItemFilterSectionView
|
||||
{
|
||||
public LootFilterSectionView()
|
||||
public ItemFilterSectionView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
namespace Filtration.Views
|
||||
{
|
||||
public partial class LootFilterBlockDisplaySettingsView
|
||||
{
|
||||
public LootFilterBlockDisplaySettingsView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -58,7 +58,7 @@
|
||||
<TabControl.ContentTemplate>
|
||||
<DataTemplate>
|
||||
<controls:MetroContentControl>
|
||||
<views:LootFilterScriptView DataContext="{Binding}" />
|
||||
<views:ItemFilterScriptView DataContext="{Binding}" />
|
||||
</controls:MetroContentControl>
|
||||
</DataTemplate>
|
||||
</TabControl.ContentTemplate>
|
||||
|
||||
@@ -15,8 +15,8 @@ namespace Filtration.WindsorInstallers
|
||||
.LifeStyle.Singleton);
|
||||
|
||||
container.Register(
|
||||
Component.For<ILootFilterPersistenceService>()
|
||||
.ImplementedBy<LootFilterPersistenceService>()
|
||||
Component.For<IItemFilterPersistenceService>()
|
||||
.ImplementedBy<ItemFilterPersistenceService>()
|
||||
.LifeStyle.Singleton);
|
||||
|
||||
container.Register(
|
||||
|
||||
@@ -10,13 +10,13 @@ namespace Filtration.WindsorInstallers
|
||||
public void Install(IWindsorContainer container, IConfigurationStore store)
|
||||
{
|
||||
container.Register(
|
||||
Component.For<ILootFilterScriptTranslator>()
|
||||
.ImplementedBy<LootFilterScriptTranslator>()
|
||||
Component.For<IItemFilterScriptTranslator>()
|
||||
.ImplementedBy<ItemFilterScriptTranslator>()
|
||||
.LifeStyle.Singleton);
|
||||
|
||||
container.Register(
|
||||
Component.For<ILootFilterBlockTranslator>()
|
||||
.ImplementedBy<LootFilterBlockTranslator>()
|
||||
Component.For<IItemFilterBlockTranslator>()
|
||||
.ImplementedBy<ItemFilterBlockTranslator>()
|
||||
.LifeStyle.Singleton);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,13 +16,13 @@ namespace Filtration.WindsorInstallers
|
||||
.LifeStyle.Transient);
|
||||
|
||||
container.Register(
|
||||
Component.For<ILootFilterBlockViewModel>()
|
||||
.ImplementedBy<LootFilterBlockViewModel>()
|
||||
Component.For<IItemFilterBlockViewModel>()
|
||||
.ImplementedBy<ItemFilterBlockViewModel>()
|
||||
.LifeStyle.Transient);
|
||||
|
||||
container.Register(
|
||||
Component.For<ILootFilterScriptViewModel>()
|
||||
.ImplementedBy<LootFilterScriptViewModel>()
|
||||
Component.For<IItemFilterScriptViewModel>()
|
||||
.ImplementedBy<ItemFilterScriptViewModel>()
|
||||
.LifeStyle.Transient);
|
||||
|
||||
container.Register(
|
||||
@@ -32,10 +32,10 @@ namespace Filtration.WindsorInstallers
|
||||
|
||||
container.AddFacility<TypedFactoryFacility>();
|
||||
container.Register(
|
||||
Component.For<ILootFilterBlockViewModelFactory>().AsFactory());
|
||||
Component.For<IItemFilterBlockViewModelFactory>().AsFactory());
|
||||
|
||||
container.Register(
|
||||
Component.For<ILootFilterScriptViewModelFactory>().AsFactory());
|
||||
Component.For<IItemFilterScriptViewModelFactory>().AsFactory());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user