diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-01-18 16:20:02 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-01-18 16:20:02 +0200 |
| commit | 5e68543fd93e441e1e76acc3f439594f66c4412a (patch) | |
| tree | d64d3d48f1e91723c70a16b484be4cb456584ac1 /Software/Visual_Studio/MachineStudio/Modules | |
| parent | 448632f4057e9a81b8bc80701296dcd4ec622877 (diff) | |
| download | Tango-5e68543fd93e441e1e76acc3f439594f66c4412a.tar.gz Tango-5e68543fd93e441e1e76acc3f439594f66c4412a.zip | |
Removed Deleted from most of DB Tables !!!!!!!!!!!
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules')
16 files changed, 350 insertions, 64 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/EventTypeActionsToStringConverter.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/EventTypeActionsToStringConverter.cs index 278802863..5cdee0153 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/EventTypeActionsToStringConverter.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/EventTypeActionsToStringConverter.cs @@ -23,7 +23,7 @@ namespace Tango.MachineStudio.DB.Converters if (value is IEnumerable<EventTypesAction>) { IEnumerable<EventTypesAction> eventActions = value as IEnumerable<EventTypesAction>; - return String.Join(", ", eventActions.Where(x => !x.Deleted).Select(x => x.ActionTypes.Name)); + return String.Join(", ", eventActions.Select(x => x.ActionTypes.Name)); } else { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/LiquidTypeRmlsToStringConverter.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/LiquidTypeRmlsToStringConverter.cs index 05ffa684c..a8e82b69b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/LiquidTypeRmlsToStringConverter.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/LiquidTypeRmlsToStringConverter.cs @@ -23,7 +23,7 @@ namespace Tango.MachineStudio.DB.Converters if (value is IEnumerable<LiquidTypesRml>) { IEnumerable<LiquidTypesRml> liquidRmls = value as IEnumerable<LiquidTypesRml>; - return String.Join(", ", liquidRmls.Where(x => !x.Deleted).Select(x => x.Rml.Name)); + return String.Join(", ", liquidRmls.Select(x => x.Rml.Name)); } else { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/RolesPermissionsToStringConverter.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/RolesPermissionsToStringConverter.cs index 6ad99213d..96c4d7d7d 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/RolesPermissionsToStringConverter.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Converters/RolesPermissionsToStringConverter.cs @@ -24,7 +24,7 @@ namespace Tango.MachineStudio.DB.Converters if (value is IEnumerable<RolesPermission>) { IEnumerable<RolesPermission> rolesPermissions = value as IEnumerable<RolesPermission>; - return String.Join(", ", rolesPermissions.Where(x => !x.Deleted).Select(x => x.Permission.Name)); + return String.Join(", ", rolesPermissions.Select(x => x.Permission.Name)); } else { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs index bc8d54ce9..a3d3e2486 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs @@ -156,21 +156,20 @@ namespace Tango.MachineStudio.DB.ViewModels { using (_notification.PushTaskItem("Saving changes to database...")) { - var dependenctEntities = SelectedEntity.GetDependentEntitiesNameAndGuid(); + //var dependenctEntities = SelectedEntity.GetDependentEntitiesNameAndGuid(); - if (dependenctEntities.Count > 0) - { - _notification.ShowError("The selected entity is being used by " + dependenctEntities.Count + " other entities." + Environment.NewLine + "Please delete any dependencies and try again." + Environment.NewLine + Environment.NewLine + String.Join(Environment.NewLine, dependenctEntities.Select(x => x.Key + ", ID: " + x.Value))); - return; - } + //if (dependenctEntities.Count > 0) + //{ + // _notification.ShowError("The selected entity is being used by " + dependenctEntities.Count + " other entities." + Environment.NewLine + "Please delete any dependencies and try again." + Environment.NewLine + Environment.NewLine + String.Join(Environment.NewLine, dependenctEntities.Select(x => x.Key + ", ID: " + x.Value))); + // return; + //} try { - await SelectedEntity.SoftDeleteAsync(); + await SelectedEntity.DeleteAsync(); } catch (Exception ex) { - SelectedEntity.Deleted = false; Adapter.Invalidate(); _notification.ShowError("Could not delete entity."); } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EventTypesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EventTypesViewVM.cs index 69e3c9ff6..0325e42ee 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EventTypesViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EventTypesViewVM.cs @@ -29,7 +29,7 @@ namespace Tango.MachineStudio.DB.ViewModels foreach (var actionType in SelectedActions) { - if (SelectedEntity.EventTypesActions.ToList().Exists(x => x.ActionTypes == actionType.Entity && !x.Deleted)) + if (SelectedEntity.EventTypesActions.ToList().Exists(x => x.ActionTypes == actionType.Entity)) { actionType.IsSelected = true; } @@ -51,24 +51,23 @@ namespace Tango.MachineStudio.DB.ViewModels foreach (var actionType in SelectedActions) { - var userRole = eventType.EventTypesActions.SingleOrDefault(x => x.ActionTypes == actionType.Entity); + var eventTypeAction = eventType.EventTypesActions.SingleOrDefault(x => x.ActionTypes == actionType.Entity); - if (userRole != null) + if (eventTypeAction != null && !actionType.IsSelected) { - userRole.Deleted = !actionType.IsSelected; + eventTypeAction.Delete(); + continue; } - else + + if (actionType.IsSelected) { - if (actionType.IsSelected) + eventType.EventTypesActions.Add(new EventTypesAction() { - eventType.EventTypesActions.Add(new EventTypesAction() - { - ActionTypes = actionType.Entity, - EventTypes = eventType, - ActionTypeGuid = actionType.Entity.Guid, - EventTypeGuid = eventType.Guid - }); - } + ActionTypes = actionType.Entity, + EventTypes = eventType, + ActionTypeGuid = actionType.Entity.Guid, + EventTypeGuid = eventType.Guid + }); } } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidTypesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidTypesViewVM.cs index eaa482a41..49bd18822 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidTypesViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/LiquidTypesViewVM.cs @@ -29,7 +29,7 @@ namespace Tango.MachineStudio.DB.ViewModels foreach (var rml in SelectedRmls) { - if (SelectedEntity.LiquidTypesRmls.ToList().Exists(x => x.Rml == rml.Entity && !x.Deleted)) + if (SelectedEntity.LiquidTypesRmls.ToList().Exists(x => x.Rml == rml.Entity)) { rml.IsSelected = true; } @@ -53,22 +53,21 @@ namespace Tango.MachineStudio.DB.ViewModels { var liquidRml = liquid.LiquidTypesRmls.SingleOrDefault(x => x.Rml == rml.Entity); - if (liquidRml != null) + if (liquidRml != null && !rml.IsSelected) { - liquidRml.Deleted = !rml.IsSelected; + liquidRml.Delete(); + continue; } - else + + if (rml.IsSelected) { - if (rml.IsSelected) + liquid.LiquidTypesRmls.Add(new LiquidTypesRml() { - liquid.LiquidTypesRmls.Add(new LiquidTypesRml() - { - Rml = rml.Entity, - LiquidTypes = liquid, - RmlGuid = rml.Entity.Guid, - LiquidTypeGuid = liquid.Guid - }); - } + Rml = rml.Entity, + LiquidTypes = liquid, + RmlGuid = rml.Entity.Guid, + LiquidTypeGuid = liquid.Guid + }); } } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/RolesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/RolesViewVM.cs index d09722ec9..8ce95f736 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/RolesViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/RolesViewVM.cs @@ -30,7 +30,7 @@ namespace Tango.MachineStudio.DB.ViewModels foreach (var permission in SelectedPermissions) { - if (SelectedEntity.RolesPermissions.ToList().Exists(x => x.Permission == permission.Entity && !x.Deleted)) + if (SelectedEntity.RolesPermissions.ToList().Exists(x => x.Permission == permission.Entity)) { permission.IsSelected = true; } @@ -54,22 +54,21 @@ namespace Tango.MachineStudio.DB.ViewModels { var rolePermission = role.RolesPermissions.SingleOrDefault(x => x.Permission == permission.Entity); - if (rolePermission != null) + if (rolePermission != null && !permission.IsSelected) { - rolePermission.Deleted = !permission.IsSelected; + rolePermission.Delete(); + continue; } - else + + if (permission.IsSelected) { - if (permission.IsSelected) + role.RolesPermissions.Add(new RolesPermission() { - role.RolesPermissions.Add(new RolesPermission() - { - Permission = permission.Entity, - Role = role, - PermissionGuid = permission.Entity.Guid, - RoleGuid = role.Guid - }); - } + Permission = permission.Entity, + Role = role, + PermissionGuid = permission.Entity.Guid, + RoleGuid = role.Guid + }); } } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/IdsPackView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/IdsPackView.xaml index 699a9ceb6..543e6b40c 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/IdsPackView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/IdsPackView.xaml @@ -28,11 +28,11 @@ <TextBox Text="{Binding EditEntity.Name}"></TextBox> <TextBlock Text="Configuration:" FontWeight="Bold"></TextBlock> <ComboBox ItemsSource="{Binding Adapter.Configurations}" SelectedItem="{Binding EditEntity.Configuration,Mode=TwoWay}" DisplayMemberPath="Name"></ComboBox> - <TextBlock Text="Dispenser:" FontWeight="Bold"></TextBlock> - <ComboBox ItemsSource="{Binding Adapter.Dispensers}" SelectedItem="{Binding EditEntity.Dispenser,Mode=TwoWay}"> + <TextBlock Text="Dispenser Type:" FontWeight="Bold"></TextBlock> + <ComboBox ItemsSource="{Binding Adapter.DispenserTypes}" SelectedItem="{Binding EditEntity.DispenserTypes,Mode=TwoWay}"> <ComboBox.ItemTemplate> <DataTemplate> - <TextBlock><Run Text="{Binding SerialNumber}"></Run><Run>,</Run> <Run Text="{Binding DispenserTypes.Name}"></Run></TextBlock> + <TextBlock><Run Text="{Binding Name}"></Run></TextBlock> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/IdsPacksView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/IdsPacksView.xaml index 4a35b1900..e5043e3e2 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/IdsPacksView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/IdsPacksView.xaml @@ -22,10 +22,10 @@ <DataGridTextColumn Header="GUID" Binding="{Binding Guid}"></DataGridTextColumn> <DataGridTextColumn Header="Name" Binding="{Binding Name}"></DataGridTextColumn> <DataGridTextColumn Header="Configuration" Binding="{Binding Configuration.Name}"></DataGridTextColumn> - <DataGridTemplateColumn Header="Dispenser"> + <DataGridTemplateColumn Header="Dispenser Type"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> - <TextBlock><Run Text="{Binding Dispenser.SerialNumber}"></Run><Run>,</Run> <Run Text="{Binding Dispenser.DispenserTypes.Name}"></Run></TextBlock> + <TextBlock><Run Text="{Binding DispenserTypes.Name}"></Run></TextBlock> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachineVersionsProvider.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachineVersionsProvider.cs new file mode 100644 index 000000000..51ca629a4 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachineVersionsProvider.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.AutoComplete.Editors; +using Tango.DAL.Observables; + +namespace Tango.MachineStudio.MachineDesigner.AutoComplete +{ + /// <summary> + /// Represents an auto-complete <see cref="MachineVersion">Machine Versions</see> provider. + /// </summary> + /// <seealso cref="Tango.AutoComplete.Editors.ISuggestionProvider" /> + public class MachineVersionsProvider : ISuggestionProvider + { + public String Text { get; set; } + + public IEnumerable GetSuggestions(string filter) + { + Text = filter; + return ObservablesEntitiesAdapter.Instance.MachineVersions.Where(x => x.Version.ToString().StartsWith(filter, StringComparison.CurrentCultureIgnoreCase) || x.Name.StartsWith(filter, StringComparison.CurrentCultureIgnoreCase)).ToList(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj index 46ec20fdc..ac1616401 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj @@ -78,8 +78,13 @@ </ItemGroup> <ItemGroup> <Compile Include="AutoComplete\MachinesProvider.cs" /> + <Compile Include="AutoComplete\MachineVersionsProvider.cs" /> <Compile Include="ViewModelLocator.cs" /> + <Compile Include="ViewModels\MachineVersionDialogVM.cs" /> <Compile Include="ViewModels\MainViewVM.cs" /> + <Compile Include="Views\MachineVersionDialog.xaml.cs"> + <DependentUpon>MachineVersionDialog.xaml</DependentUpon> + </Compile> <Compile Include="Views\MainView.xaml.cs"> <DependentUpon>MainView.xaml</DependentUpon> </Compile> @@ -87,6 +92,10 @@ <Link>GlobalVersionInfo.cs</Link> </Compile> <Compile Include="MachineDesignerModule.cs" /> + <Page Include="Views\MachineVersionDialog.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> <Page Include="Views\MainView.xaml"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs new file mode 100644 index 000000000..6854472f1 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core.Commands; +using Tango.DAL.Observables; +using Tango.MachineStudio.Common.Notifications; +using Tango.MachineStudio.MachineDesigner.AutoComplete; + +namespace Tango.MachineStudio.MachineDesigner.ViewModels +{ + public class MachineVersionDialogVM : DialogViewVM + { + public MachineVersionsProvider VersionsProvider { get; set; } + + public double Version { get; set; } + + private String _versionName; + + public String VersionName + { + get { return _versionName; } + set { _versionName = value; RaisePropertyChangedAuto(); } + } + + private MachineVersion _selectedVersion; + + public MachineVersion SelectedVersion + { + get { return _selectedVersion; } + set + { + _selectedVersion = value; + RaisePropertyChangedAuto(); + VersionName = value != null ? value.Name : null; + Version = value != null ? value.Version : 0; + } + } + + public RelayCommand AcceptCommand { get; set; } + + public RelayCommand CancelCommand { get; set; } + + public MachineVersionDialogVM() + { + VersionsProvider = new MachineVersionsProvider(); + AcceptCommand = new RelayCommand(() => + { + if (SelectedVersion == null) + { + Version = double.Parse(VersionsProvider.Text); + } + + Accept(); + + }); + CancelCommand = new RelayCommand(Cancel); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs index 96b66c204..24f2f6d43 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs @@ -123,6 +123,16 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels /// </summary> public RelayCommand RemoveIdsCommand { get; set; } + /// <summary> + /// Gets or sets the set version configuration command. + /// </summary> + public RelayCommand SetVersionConfigurationCommand { get; set; } + + /// <summary> + /// Gets or sets the set as default command. + /// </summary> + public RelayCommand SetAsDefaultCommand { get; set; } + #endregion #region Constructors @@ -143,6 +153,8 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels SaveCommand = new RelayCommand(Save, (x) => !_isSaving); AddIdsCommand = new RelayCommand(AddIds, (x) => !_isSaving && Configuration.IdsPacks.Count < 8); RemoveIdsCommand = new RelayCommand(RemoveIds, (x) => !_isSaving && SelectedIds != null); + SetVersionConfigurationCommand = new RelayCommand(SetVersionConfiguration,(x) => !_isSaving); + SetAsDefaultCommand = new RelayCommand(SetAsDefaultConfiguration,(x) => !_isSaving); } #endregion @@ -563,6 +575,61 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels History.Insert(0, machine.Configuration); } + /// <summary> + /// Sets the current configuration to the selected machine version default configuration. + /// </summary> + private void SetVersionConfiguration() + { + if (Machine.MachineVersions != null) + { + Configuration = Machine.MachineVersions.Configuration.CloneConfiguration(); + } + else + { + _notification.ShowError("No machine version selected."); + } + } + + /// <summary> + /// Sets the current configuration as a default machine version configuration. + /// </summary> + private void SetAsDefaultConfiguration() + { + _notification.ShowModalDialog<MachineVersionDialogVM>(async (vm) => + { + try + { + using (_notification.PushTaskItem("Saving Default Configuration...")) + { + if (vm.SelectedVersion != null) + { + vm.SelectedVersion.Configuration = Configuration.CloneConfiguration(); + vm.SelectedVersion.DefaultConfigurationGuid = vm.SelectedVersion.Configuration.Guid; + await vm.SelectedVersion.SaveAsync(); + } + else + { + MachineVersion newVersion = new MachineVersion(); + newVersion.Version = vm.Version; + newVersion.Name = vm.VersionName; + + newVersion.Configuration = Configuration.CloneConfiguration(); + newVersion.DefaultConfigurationGuid = newVersion.Configuration.Guid; + await newVersion.SaveAsync(); + } + } + } + catch (Exception ex) + { + _notification.ShowError(ex.Message); + } + + }, () => + { + + }); + } + #endregion } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineVersionDialog.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineVersionDialog.xaml new file mode 100644 index 000000000..60aebef7f --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineVersionDialog.xaml @@ -0,0 +1,80 @@ +<UserControl x:Class="Tango.MachineStudio.MachineDesigner.Views.MachineVersionDialog" + 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:mahapps="http://metro.mahapps.com/winfx/xaml/controls" + xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" + xmlns:autoComplete="clr-namespace:Tango.AutoComplete.Editors;assembly=Tango.AutoComplete" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:providers="clr-namespace:Tango.MachineStudio.MachineDesigner.AutoComplete" + xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI" + xmlns:local="clr-namespace:Tango.MachineStudio.MachineDesigner.Views" + mc:Ignorable="d" Width="530" Height="239" Background="White"> + + <UserControl.Resources> + <providers:MachineVersionsProvider x:Key="VersionsProvider"></providers:MachineVersionsProvider> + </UserControl.Resources> + + <Grid> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="50"/> + <RowDefinition Height="1*"/> + </Grid.RowDefinitions> + + <Grid> + <StackPanel Orientation="Horizontal" Margin="10"> + <materialDesign:PackIcon Width="24" Height="24" Kind="Verified" VerticalAlignment="Center"></materialDesign:PackIcon> + <TextBlock Text="Default Version Configuration" VerticalAlignment="Center" Margin="10 0 0 0" FontSize="16"></TextBlock> + </StackPanel> + </Grid> + + <Grid Grid.Row="1" Margin="10"> + <Grid.RowDefinitions> + <RowDefinition Height="1*"/> + <RowDefinition Height="Auto"/> + </Grid.RowDefinitions> + + <Grid> + <StackPanel HorizontalAlignment="Left" Margin="10"> + <TextBlock>Version</TextBlock> + <autoComplete:AutoCompleteTextBox Margin="0 5 0 0" Width="200" materialDesign:HintAssist.Hint="Selected version" DisplayMember="Version" Provider="{Binding VersionsProvider}" SelectedItem="{Binding SelectedVersion,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"> + <autoComplete:AutoCompleteTextBox.ItemTemplate> + <DataTemplate> + <TextBlock><Run Text="{Binding Name}"></Run><Run>,</Run><Run Text="{Binding Version}"></Run></TextBlock> + </DataTemplate> + </autoComplete:AutoCompleteTextBox.ItemTemplate> + <autoComplete:AutoCompleteTextBox.LoadingContent> + <TextBlock Text="Loading..." Margin="5" FontSize="14" /> + </autoComplete:AutoCompleteTextBox.LoadingContent> + </autoComplete:AutoCompleteTextBox> + <TextBlock Margin="0 10 0 0">Name</TextBlock> + <TextBox materialDesign:HintAssist.Hint="Version name" Text="{Binding VersionName}"> + <TextBox.Style> + <Style TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}"> + <Setter Property="IsEnabled" Value="False"></Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding SelectedVersion}" Value="{x:Null}"> + <Setter Property="IsEnabled" Value="True"></Setter> + </DataTrigger> + </Style.Triggers> + </Style> + </TextBox.Style> + </TextBox> + </StackPanel> + </Grid> + + <Grid Grid.Row="1"> + <StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" HorizontalAlignment="Right" DockPanel.Dock="Bottom"> + <Button Command="{Binding AcceptCommand}" Style="{StaticResource MaterialDesignFlatButton}" IsDefault="True" Margin="0 8 8 0"> + ACCEPT + </Button> + <Button Command="{Binding CancelCommand}" Style="{StaticResource MaterialDesignFlatButton}" IsCancel="False" Margin="0 8 8 0"> + CANCEL + </Button> + </StackPanel> + </Grid> + </Grid> + </Grid> + </Grid> +</UserControl> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineVersionDialog.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineVersionDialog.xaml.cs new file mode 100644 index 000000000..3d59d7cda --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineVersionDialog.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.MachineStudio.MachineDesigner.Views +{ + /// <summary> + /// Interaction logic for MachineVersionDialog.xaml + /// </summary> + public partial class MachineVersionDialog : UserControl + { + public MachineVersionDialog() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml index 8f955beea..605b66a05 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml @@ -431,7 +431,7 @@ <Grid Grid.Column="1"> <Grid.RowDefinitions> <RowDefinition/> - <RowDefinition Height="70"/> + <RowDefinition Height="60"/> </Grid.RowDefinitions> <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"> <Grid> @@ -447,7 +447,14 @@ <TextBox Text="{Binding Machine.Name,UpdateSourceTrigger=PropertyChanged}"></TextBox> <TextBlock Margin="0 15 0 0" FontSize="10" Foreground="Gray">Machine Version</TextBlock> - <ComboBox ItemsSource="{Binding Adapter.MachineVersions}" SelectedItem="{Binding Machine.MachineVersions}" DisplayMemberPath="Name"></ComboBox> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="1*"></ColumnDefinition> + <ColumnDefinition Width="80"></ColumnDefinition> + </Grid.ColumnDefinitions> + <ComboBox ItemsSource="{Binding Adapter.MachineVersions}" SelectedItem="{Binding Machine.MachineVersions}" DisplayMemberPath="Name"></ComboBox> + <Button Grid.Column="1" Command="{Binding SetVersionConfigurationCommand}" Height="25" Margin="10 2 2 2" ToolTip="Sets the current configuration to the selected machine version default configuration">SET</Button> + </Grid> <TextBlock Margin="0 15 0 0" FontSize="10" Foreground="Gray">Organization</TextBlock> <ComboBox ItemsSource="{Binding Adapter.Organizations}" SelectedItem="{Binding Machine.Organization}" DisplayMemberPath="Name"></ComboBox> @@ -806,12 +813,24 @@ </ScrollViewer> <Grid Grid.Row="1" Margin="10"> - <Button Height="50" Command="{Binding SaveCommand}" Margin="0 0 15 0"> - <StackPanel Orientation="Horizontal"> - <materialDesign:PackIcon Width="24" Height="24" VerticalAlignment="Center" Kind="ContentSaveSettings"></materialDesign:PackIcon> - <TextBlock FontSize="18" Margin="10 0 0 0" VerticalAlignment="Center">SAVE</TextBlock> - </StackPanel> - </Button> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="61*"/> + <ColumnDefinition Width="84*"/> + </Grid.ColumnDefinitions> + <Button Height="Auto" Command="{Binding SaveCommand}" Margin="0 0 5 0"> + <StackPanel Orientation="Horizontal"> + <materialDesign:PackIcon Width="20" Height="20" VerticalAlignment="Center" Kind="ContentSaveSettings"></materialDesign:PackIcon> + <TextBlock FontSize="14" Margin="10 0 0 0" VerticalAlignment="Center">SAVE</TextBlock> + </StackPanel> + </Button> + <Button ToolTip="Set this configuration as a default machine configuration" Height="Auto" Background="#FF5C5C" BorderBrush="#FF5C5C" Command="{Binding SetAsDefaultCommand}" Margin="0 0 15 0" Grid.Column="1"> + <StackPanel Orientation="Horizontal"> + <materialDesign:PackIcon Width="20" Height="20" VerticalAlignment="Center" Kind="Verified"></materialDesign:PackIcon> + <TextBlock FontSize="14" Margin="10 0 0 0" VerticalAlignment="Center">SET DEFAULT</TextBlock> + </StackPanel> + </Button> + </Grid> </Grid> </Grid> </Grid> |
