Browse Source

Popup Width height support and null parsers fix

Krzysztof Krysiński 2 years ago
parent
commit
25435b5093

+ 1 - 1
src/PixiEditor.Extensions/PixiEditor.Extensions.csproj

@@ -6,7 +6,7 @@
         <Nullable>enable</Nullable>
         <Nullable>enable</Nullable>
       <UseWPF>true</UseWPF>
       <UseWPF>true</UseWPF>
       <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
       <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
-      <Version>0.0.1</Version>
+      <Version>0.0.3</Version>
       <Title>PixiEditor Extensions</Title>
       <Title>PixiEditor Extensions</Title>
       <Authors>PixiEditor Organization</Authors>
       <Authors>PixiEditor Organization</Authors>
       <Copyright>PixiEditor Organization</Copyright>
       <Copyright>PixiEditor Organization</Copyright>

+ 2 - 0
src/PixiEditor.Extensions/Windowing/IPopupWindow.cs

@@ -5,4 +5,6 @@ public interface IPopupWindow
     public string Title { get; set; }
     public string Title { get; set; }
     public void Show();
     public void Show();
     public bool? ShowDialog();
     public bool? ShowDialog();
+    public double Width { get; set; }
+    public double Height { get; set; }
 }
 }

+ 10 - 0
src/PixiEditor.Extensions/Windowing/PopupWindow.cs

@@ -18,4 +18,14 @@ public class PopupWindow : IPopupWindow
     public void Show() => _underlyingWindow.Show();
     public void Show() => _underlyingWindow.Show();
 
 
     public bool? ShowDialog() => _underlyingWindow.ShowDialog();
     public bool? ShowDialog() => _underlyingWindow.ShowDialog();
+    public double Width
+    {
+        get => _underlyingWindow.Width;
+        set => _underlyingWindow.Width = value;
+    }
+    public double Height
+    {
+        get => _underlyingWindow.Height;
+        set => _underlyingWindow.Height = value;
+    }
 }
 }

+ 2 - 2
src/PixiEditor/Views/Dialogs/BasicPopup.xaml

@@ -12,7 +12,7 @@
         xmlns:ui="clr-namespace:PixiEditor.Extensions.UI;assembly=PixiEditor.Extensions"
         xmlns:ui="clr-namespace:PixiEditor.Extensions.UI;assembly=PixiEditor.Extensions"
         mc:Ignorable="d"
         mc:Ignorable="d"
         WindowStyle="None"
         WindowStyle="None"
-        d:Title="Notice" Height="250" Width="350"
+        d:Title="Notice"
         WindowStartupLocation="CenterScreen"
         WindowStartupLocation="CenterScreen"
         x:Name="popup"
         x:Name="popup"
         ui:Translator.Key="{Binding ElementName=popup, Path=Title}"
         ui:Translator.Key="{Binding ElementName=popup, Path=Title}"
@@ -31,6 +31,6 @@
         <local:DialogTitleBar DockPanel.Dock="Top"
         <local:DialogTitleBar DockPanel.Dock="Top"
                              TitleKey="{Binding ElementName=popup, Path=Title}"
                              TitleKey="{Binding ElementName=popup, Path=Title}"
                              CloseCommand="{Binding DataContext.CancelCommand, ElementName=popup}" />
                              CloseCommand="{Binding DataContext.CancelCommand, ElementName=popup}" />
-        <ContentPresenter DockPanel.Dock="Bottom" Content="{Binding ElementName=popup, Path=DataContext.Body}"/>
+        <ContentPresenter Name="ContentBody" DockPanel.Dock="Bottom" Content="{Binding ElementName=popup, Path=DataContext.Body}"/>
 </DockPanel>
 </DockPanel>
 </Window>
 </Window>

+ 6 - 16
src/PixiEditor/Views/UserControls/Palettes/PaletteViewer.xaml.cs

@@ -81,17 +81,7 @@ internal partial class PaletteViewer : UserControl
         get { return (PaletteProvider)GetValue(PaletteProviderProperty); }
         get { return (PaletteProvider)GetValue(PaletteProviderProperty); }
         set { SetValue(PaletteProviderProperty, value); }
         set { SetValue(PaletteProviderProperty, value); }
     }
     }
-
-    public WpfObservableRangeCollection<PaletteFileParser> FileParsers
-    {
-        get { return (WpfObservableRangeCollection<PaletteFileParser>)GetValue(FileParsersProperty); }
-        set { SetValue(FileParsersProperty, value); }
-    }
-
-
-    public static readonly DependencyProperty FileParsersProperty =
-        DependencyProperty.Register(nameof(FileParsers), typeof(WpfObservableRangeCollection<PaletteFileParser>), typeof(PaletteViewer), new PropertyMetadata(new WpfObservableRangeCollection<PaletteFileParser>()));
-
+    
     public PaletteViewer()
     public PaletteViewer()
     {
     {
         InitializeComponent();
         InitializeComponent();
@@ -111,7 +101,7 @@ internal partial class PaletteViewer : UserControl
     {
     {
         OpenFileDialog openFileDialog = new OpenFileDialog
         OpenFileDialog openFileDialog = new OpenFileDialog
         {
         {
-            Filter = PaletteHelpers.GetFilter(FileParsers, true),
+            Filter = PaletteHelpers.GetFilter(PaletteProvider.AvailableParsers, true),
         };
         };
         if (openFileDialog.ShowDialog() == true)
         if (openFileDialog.ShowDialog() == true)
         {
         {
@@ -121,7 +111,7 @@ internal partial class PaletteViewer : UserControl
 
 
     private async Task ImportPalette(string fileName)
     private async Task ImportPalette(string fileName)
     {
     {
-        var parser = FileParsers.FirstOrDefault(x => x.SupportedFileExtensions.Contains(Path.GetExtension(fileName)));
+        var parser = PaletteProvider.AvailableParsers.FirstOrDefault(x => x.SupportedFileExtensions.Contains(Path.GetExtension(fileName)));
         var data = await parser.Parse(fileName);
         var data = await parser.Parse(fileName);
         if (data.IsCorrupted || data.Colors.Length == 0) return;
         if (data.IsCorrupted || data.Colors.Length == 0) return;
         Colors.Clear();
         Colors.Clear();
@@ -132,13 +122,13 @@ internal partial class PaletteViewer : UserControl
     {
     {
         SaveFileDialog saveFileDialog = new SaveFileDialog
         SaveFileDialog saveFileDialog = new SaveFileDialog
         {
         {
-            Filter = PaletteHelpers.GetFilter(FileParsers.Where(x => x.CanSave).ToList(), false)
+            Filter = PaletteHelpers.GetFilter(PaletteProvider.AvailableParsers.Where(x => x.CanSave).ToList(), false)
         };
         };
 
 
         if (saveFileDialog.ShowDialog() == true)
         if (saveFileDialog.ShowDialog() == true)
         {
         {
             string fileName = saveFileDialog.FileName;
             string fileName = saveFileDialog.FileName;
-            var foundParser = FileParsers.First(x => x.SupportedFileExtensions.Contains(Path.GetExtension(fileName)));
+            var foundParser = PaletteProvider.AvailableParsers.First(x => x.SupportedFileExtensions.Contains(Path.GetExtension(fileName)));
             if (Colors == null || Colors.Count == 0)
             if (Colors == null || Colors.Count == 0)
             {
             {
                 NoticeDialog.Show("NO_COLORS_TO_SAVE", "ERROR");
                 NoticeDialog.Show("NO_COLORS_TO_SAVE", "ERROR");
@@ -205,7 +195,7 @@ internal partial class PaletteViewer : UserControl
             if (files is { Length: > 0 })
             if (files is { Length: > 0 })
             {
             {
                 var fileName = files[0];
                 var fileName = files[0];
-                var foundParser = FileParsers.FirstOrDefault(x => x.SupportedFileExtensions.Contains(Path.GetExtension(fileName)));
+                var foundParser = PaletteProvider.AvailableParsers.FirstOrDefault(x => x.SupportedFileExtensions.Contains(Path.GetExtension(fileName)));
                 if (foundParser != null)
                 if (foundParser != null)
                 {
                 {
                     filePath = fileName;
                     filePath = fileName;