diff --git a/SewerStammGen.Shared/Enum/EExportType.cs b/SewerStammGen.Shared/Enum/EExportType.cs index 57679fd..0f30bb6 100644 --- a/SewerStammGen.Shared/Enum/EExportType.cs +++ b/SewerStammGen.Shared/Enum/EExportType.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; namespace SewerStammGen.Shared.Enum { + [Flags] public enum EExportType { KANDIS4, @@ -13,6 +14,8 @@ namespace SewerStammGen.Shared.Enum M150, XML2006, XML2013, - XML2017 + XML2017, + KANDIS = KANDIS4 | KANDIS6, + XML = XML2006 | XML2013 | XML2017 } } diff --git a/SewerStammGen.Shared/Enum/ESelectedNorm.cs b/SewerStammGen.Shared/Enum/ESelectedNorm.cs new file mode 100644 index 0000000..f41de47 --- /dev/null +++ b/SewerStammGen.Shared/Enum/ESelectedNorm.cs @@ -0,0 +1,8 @@ +namespace SewerStammGen.Shared.Enum +{ + public enum ESelectedNorm + { + KANDIS, + XML + } +} diff --git a/StammGenerator/Converters/ValueToExportConverter.cs b/StammGenerator/Converters/ValueToExportConverter.cs new file mode 100644 index 0000000..90a7f49 --- /dev/null +++ b/StammGenerator/Converters/ValueToExportConverter.cs @@ -0,0 +1,21 @@ +using SewerStammGen.Shared.Enum; +using System; +using System.Globalization; +using System.Windows.Data; + +namespace StammGenerator.Converters +{ + public class ValueToExportConverter: IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return value.ToString() == parameter.ToString(); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + + return (EExportType)parameter; + } + } +} diff --git a/StammGenerator/MainWindow.xaml b/StammGenerator/MainWindow.xaml index 986abaa..960f65e 100644 --- a/StammGenerator/MainWindow.xaml +++ b/StammGenerator/MainWindow.xaml @@ -9,7 +9,7 @@ xmlns:view="clr-namespace:StammGenerator.Views" xmlns:viewmodel="clr-namespace:StammGenerator.ViewModel" - + FontSize="18" Title="MainWindow" Height="450" Width="800"> diff --git a/StammGenerator/StammGenerator.csproj b/StammGenerator/StammGenerator.csproj index 5059ef9..d10907e 100644 --- a/StammGenerator/StammGenerator.csproj +++ b/StammGenerator/StammGenerator.csproj @@ -7,10 +7,6 @@ true - - - - diff --git a/StammGenerator/StammGenerator.csproj.user b/StammGenerator/StammGenerator.csproj.user index 8861091..38b2a60 100644 --- a/StammGenerator/StammGenerator.csproj.user +++ b/StammGenerator/StammGenerator.csproj.user @@ -19,6 +19,9 @@ Code + + Code + Code @@ -51,6 +54,9 @@ Designer + + Designer + Designer diff --git a/StammGenerator/ViewModel/Projekt/ProjektEditViewModel.cs b/StammGenerator/ViewModel/Projekt/ProjektEditViewModel.cs index 5d4723b..b30312a 100644 --- a/StammGenerator/ViewModel/Projekt/ProjektEditViewModel.cs +++ b/StammGenerator/ViewModel/Projekt/ProjektEditViewModel.cs @@ -12,6 +12,8 @@ namespace StammGenerator.ViewModel private readonly IDataService _dataService; private readonly IRenavigator _renavigator; + public ProjektSettingsViewModel ProjektSettingsViewModel { get; set; } + public ICommand Speichern { get; set; } public string ProjektName { @@ -71,6 +73,7 @@ namespace StammGenerator.ViewModel _model = new Projekt(); Speichern = new RelayCommand((x) => this.SaveProject()); + this.ProjektSettingsViewModel = new ProjektSettingsViewModel(); LoadProjekt(); } diff --git a/StammGenerator/ViewModel/Projekt/ProjektSettingsViewModel.cs b/StammGenerator/ViewModel/Projekt/ProjektSettingsViewModel.cs new file mode 100644 index 0000000..32af51c --- /dev/null +++ b/StammGenerator/ViewModel/Projekt/ProjektSettingsViewModel.cs @@ -0,0 +1,77 @@ +using SewerStammGen.Shared.Enum; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading.Tasks; +using System.Windows; + +namespace StammGenerator.ViewModel +{ + + public class ProjektSettingsViewModel : BaseViewModel + { + private EExportType _selectedNorm; + private Visibility _xmlVisible; + private Visibility _kandisVisible; + + public EExportType SelectedNorm + { + get => _selectedNorm; + set + { + if(value != _selectedNorm) + { + _selectedNorm = value; + + if (_selectedNorm == EExportType.KANDIS) + { + KandisVisible = Visibility.Visible; + XmlVisible = Visibility.Collapsed; + } + else if(_selectedNorm == EExportType.XML) + { + XmlVisible = Visibility.Visible; + KandisVisible = Visibility.Collapsed; + } + + OnPropertyChanged(); + } + } + } + + + public Visibility XmlVisible + { + get => _xmlVisible; + set + { + if(_xmlVisible != value) + { + _xmlVisible = value; + OnPropertyChanged(); + } + } + } + public Visibility KandisVisible + { + get => _kandisVisible; + set + { + if(_kandisVisible != value) + { + _kandisVisible = value; + OnPropertyChanged(); + } + } + } + + + public ProjektSettingsViewModel() + { + SelectedNorm = EExportType.XML; + + } + } +} diff --git a/StammGenerator/Views/Projekt/ProjektEditView.xaml b/StammGenerator/Views/Projekt/ProjektEditView.xaml index c8f357b..ac4b25c 100644 --- a/StammGenerator/Views/Projekt/ProjektEditView.xaml +++ b/StammGenerator/Views/Projekt/ProjektEditView.xaml @@ -4,11 +4,18 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:StammGenerator.Views" + xmlns:viewmodel="clr-namespace:StammGenerator.ViewModel" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> + + + + + - + + @@ -31,5 +38,8 @@