diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2019-04-07 16:14:48 +0300 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2019-04-07 16:14:48 +0300 |
| commit | 4a9fb8a89a7fc48d9d3ecc9f24770c472834453d (patch) | |
| tree | bec2580e005fb5e2089fcc88d92d6c3303c3d82f /Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs | |
| parent | f53099c8fddc7374857d29ee5521c00d91ec6d70 (diff) | |
| download | Tango-4a9fb8a89a7fc48d9d3ecc9f24770c472834453d.tar.gz Tango-4a9fb8a89a7fc48d9d3ecc9f24770c472834453d.zip | |
added code to launch dynamically dialogs during run time, correct styles treeview item
Diffstat (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs')
10 files changed, 280 insertions, 126 deletions
diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml new file mode 100644 index 000000000..3046857db --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml @@ -0,0 +1,131 @@ +<UserControl x:Class="Tango.Scripting.IDE.Dialogs.AddProjectView" + 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:local="clr-namespace:Tango.Scripting.IDE.Dialogs" + mc:Ignorable="d" + xmlns:global="clr-namespace:Tango.Scripting.IDE" + Width="800" Height="600" + MinWidth="800" MinHeight="600" + d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=local:NewProjectViewVM, IsDesignTimeCreatable=False}"> + <UserControl.Resources> + <ResourceDictionary> + <ResourceDictionary.MergedDictionaries> + <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/DarkThemesColors.xaml"/> + <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/Shared.xaml"/> + </ResourceDictionary.MergedDictionaries> + <Style TargetType="TextBlock"> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" /> + </Style> + <Style TargetType="TextBox"> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" /> + <Setter Property="Background" Value="{DynamicResource ListBorder}" /> + <Setter Property="BorderThickness" Value="1"/> + <Setter Property="BorderBrush" Value="{DynamicResource ListBorder}"/> + </Style> + + <Style TargetType="Label"> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}" /> + </Style> + <BooleanToVisibilityConverter x:Key="BoolToVis" /> + </ResourceDictionary> + </UserControl.Resources> + <Grid x:Name="Main_NewProject_grid" Background="{DynamicResource Window.Background}" > + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*"/> + <ColumnDefinition Width="240"/> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition Height="*"/> + <RowDefinition Height="Auto"/> + <RowDefinition Height="40"/> + </Grid.RowDefinitions> + <Border Background="{DynamicResource Background.Static}" BorderThickness="0" Grid.Column="0" Grid.Row="0" > + <Border BorderThickness="0" Margin="5" Background="{DynamicResource Window.Background}"> + <ListView x:Name="ProjectTypes" ItemsSource="{Binding ProjectTypes}" Background="Transparent" ScrollViewer.VerticalScrollBarVisibility="Auto" SelectedItem="{Binding SelectedProjectType,Mode=TwoWay}" BorderBrush="Transparent" IsSynchronizedWithCurrentItem="True"> + <ListView.ItemTemplate> + <DataTemplate> + <Border Padding="2"> + <WrapPanel> + <Image Stretch="Fill" Height="30" Source="{Binding Path=SmallImage}"/> + <TextBlock Text="{Binding Name}" Margin="20,5,0,0" Foreground="{DynamicResource ControlTextBrush}"/> + </WrapPanel> + </Border> + </DataTemplate> + </ListView.ItemTemplate> + <ListView.Resources> + <Style TargetType="{x:Type ListViewItem}"> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ListViewItem}"> + <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> + <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" /> + </Border> + <ControlTemplate.Triggers> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="Selector.IsSelectionActive" Value="False" /> + <Condition Property="IsSelected" Value="True" /> + </MultiTrigger.Conditions> + <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}" /> + </MultiTrigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="Selector.IsSelectionActive" Value="True" /> + <Condition Property="IsSelected" Value="True" /> + </MultiTrigger.Conditions> + <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}" /> + </MultiTrigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + </ListView.Resources> + </ListView> + </Border> + </Border> + <Grid x:Name="ProjectImage" Grid.Column="1" Grid.Row="0" Background="{DynamicResource Background.Static}"> + <Grid.RowDefinitions> + <RowDefinition Height="Auto" MinHeight="40"/> + <RowDefinition Height="*"/> + </Grid.RowDefinitions> + <TextBlock Grid.Row="0" Text="{Binding SelectedDescription}" Margin="10" TextWrapping="Wrap"/> + <Border Grid.Row="1" BorderThickness="0"> + <Border Width="126" Height="126" VerticalAlignment="Center" HorizontalAlignment="Center"> + <Image Stretch="Uniform" Source="{Binding Path=LargeImage}" + VerticalAlignment="Center" + HorizontalAlignment="Center" /> + </Border> + </Border> + </Grid> + + <Border Grid.Row="1" Grid.ColumnSpan="2" Margin="10" > + <Grid x:Name="ProjectNameGrid" Grid.Row="1" Grid.ColumnSpan="2"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="110"/> + <ColumnDefinition Width="*"/> + <ColumnDefinition Width="240"/> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition Height="24"/> + <RowDefinition Height="5"/> + <RowDefinition Height="24"/> + <RowDefinition Height="5"/> + <RowDefinition Height="24"/> + </Grid.RowDefinitions> + + <TextBlock Grid.Column="0" Grid.Row="0">Name:</TextBlock> + <TextBox Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Text="{Binding ProjectName}"/> + + </Grid> + </Border> + <Border Grid.Row="2" Grid.ColumnSpan="2"> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" > + <Button Style="{DynamicResource TangoButtonStyle}" IsDefault="True" Width="80" Height="24" Command="{Binding OKCommand}">OK</Button> + <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Width="80" Height="24" Command="{Binding CloseCommand}">Cancel</Button> + </StackPanel> + </Border> + </Grid> +</UserControl> diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.xaml.cs new file mode 100644 index 000000000..83856f4e7 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectView.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.Scripting.IDE.Dialogs +{ + /// <summary> + /// Interaction logic for AddProjectControl.xaml + /// </summary> + public partial class AddProjectView : UserControl + { + public AddProjectView() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs new file mode 100644 index 000000000..2d636a6d5 --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddProjectViewVM.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.SharedUI; + +namespace Tango.Scripting.IDE.Dialogs +{ + public class AddProjectViewVM : BaseProjectDialogVM + { + public AddProjectViewVM() : base() + { + Title = "Add Project"; + //ProjectName + } + } +} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs index 1dd0e3205..5f2ebcb15 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/BaseProjectDialogVM.cs @@ -6,21 +6,24 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media.Imaging; +using Tango.Core.Commands; using Tango.Scripting.IDE.ProjectTypes; using Tango.SharedUI; namespace Tango.Scripting.IDE.Dialogs { - public class NewProjectDialogVM : DialogViewVM + public class BaseProjectDialogVM : IDEDialogViewModel { + #region properties public ObservableCollection<IProjectType> ProjectTypes { get; set; } - public List<String> Locations { get; set; } private IProjectType _selectedProjectType = null; public IProjectType SelectedProjectType { get { return _selectedProjectType; } - set { _selectedProjectType = value; + set + { + _selectedProjectType = value; RaisePropertyChangedAuto(); RaisePropertyChanged("LargeImage"); RaisePropertyChanged("SelectedDescription"); @@ -57,17 +60,9 @@ namespace Tango.Scripting.IDE.Dialogs get { return _projectLocation; } set { _projectLocation = value; RaisePropertyChangedAuto(); } } - - private String _solutionName = "App1"; - public String SolutionName - { - get { return _solutionName; } - set { _solutionName = value; RaisePropertyChangedAuto(); } - } - - bool _isNewSolutionDialog = false; - public bool IsNewSolutionDialog { get { return _isNewSolutionDialog; } set { _isNewSolutionDialog = value; RaisePropertyChangedAuto(); } } - public NewProjectDialogVM() : base() + #endregion + #region constructor + public BaseProjectDialogVM() : base() { ProjectTypes = new ObservableCollection<IProjectType>(); RegisterProjectType(new StubProjectType()); @@ -76,12 +71,17 @@ namespace Tango.Scripting.IDE.Dialogs _selectedProjectType = ProjectTypes.FirstOrDefault(); string workingDirectory = Environment.CurrentDirectory; - _projectLocation = Directory.GetParent(workingDirectory).Parent.Parent.FullName; - - Locations = new List<string>(); - Locations.Add(_projectLocation); + ProjectLocation = Directory.GetParent(workingDirectory).Parent.Parent.FullName; + CanClose = true; + CloseCommand = new RelayCommand(Cancel, (x) => CanClose); + OKCommand = new RelayCommand(Accept, (x) => CanClose); } + #endregion + #region commands + + #endregion + #region register_project_types public void RegisterProjectType(IProjectType projectType) { ProjectTypes.Add(projectType); @@ -91,5 +91,6 @@ namespace Tango.Scripting.IDE.Dialogs { ProjectTypes.Remove(projectType); } + #endregion } } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs new file mode 100644 index 000000000..6664e2d9c --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/CommonOpenFileDialog.cs @@ -0,0 +1,7 @@ +namespace Tango.Scripting.IDE.Dialogs +{ + //internal class CommonOpenFileDialog + //{ + // public string InitialDirectory { get; internal set; } + //} +}
\ No newline at end of file diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml deleted file mode 100644 index 914740ede..000000000 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml +++ /dev/null @@ -1,35 +0,0 @@ -<Window x:Class="Tango.Scripting.IDE.Dialogs.NewProjectDialog" - 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:global="clr-namespace:Tango.Scripting.IDE" - xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs" - mc:Ignorable="d" - Title="Add New Project" - WindowStyle="ToolWindow" - ResizeMode="NoResize" ShowInTaskbar="False" WindowStartupLocation="CenterScreen" - FontSize="12" - Height="630" Width="950" > - <Window.Resources> - <ResourceDictionary> - <ResourceDictionary.MergedDictionaries> - <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/DarkThemesColors.xaml"/> - <ResourceDictionary Source="/Tango.Scripting.IDE;component/Themes/ButtonStyle.xaml"/> - </ResourceDictionary.MergedDictionaries> - </ResourceDictionary> - </Window.Resources> - <Grid Background="{DynamicResource Window.Background}"> - <Grid.RowDefinitions> - <RowDefinition Height="*"/> - <RowDefinition Height="40"/> - </Grid.RowDefinitions> - <local:AddNewControl x:Name="AddNewControl" Grid.Row="0" Margin="10,10,10,0"/> - <Border Grid.Row="1"> - <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" > - <Button Style="{DynamicResource TangoButtonStyle}" Click="OKDialog" IsDefault="True" Width="80" Height="24">OK</Button> - <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Click="CancelDialog" Width="80" Height="24">Cancel</Button> - </StackPanel> - </Border> - </Grid> -</Window> diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs deleted file mode 100644 index 24c9511e7..000000000 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs +++ /dev/null @@ -1,62 +0,0 @@ - -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.Scripting.IDE.Dialogs -{ - /// <summary> - /// Interaction logic for NewProjectDialog.xaml - /// </summary> - public partial class NewProjectDialog : Window - { - static string _sAddNewProjectTitle = "Add New Project"; - static string _sNewProjectTitle = "New Project"; - protected bool _bNewProject; - - - public NewProjectDialog(bool bNewProject) - { - _bNewProject = bNewProject; - - InitializeComponent(); - Title = bNewProject ? _sAddNewProjectTitle : _sNewProjectTitle; - Loaded += DialogLoaded; - - - } - private void DialogLoaded(object sender, RoutedEventArgs e) - { - if (AddNewControl.DataContext is NewProjectDialogVM) - { - (AddNewControl.DataContext as NewProjectDialogVM).IsNewSolutionDialog = _bNewProject; - } - } - - private void CancelDialog(object sender, RoutedEventArgs e) - { - // Dialog box canceled - DialogResult = false; - } - - private void OKDialog(object sender, RoutedEventArgs e) - { - // Don't accept the dialog box if there is invalid data - // if (!IsValid(this)) return; - - // Dialog box accepted - DialogResult = true; - } - } -} diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml index e49925dad..20a334f3b 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml @@ -1,4 +1,4 @@ -<UserControl x:Class="Tango.Scripting.IDE.Dialogs.AddNewControl" +<UserControl x:Class="Tango.Scripting.IDE.Dialogs.NewProjectView" 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" @@ -6,7 +6,9 @@ xmlns:local="clr-namespace:Tango.Scripting.IDE.Dialogs" mc:Ignorable="d" xmlns:global="clr-namespace:Tango.Scripting.IDE" - d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=local:NewProjectDialogVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.NewProjectDialogVM}"> + d:DesignHeight="450" d:DesignWidth="800" + Width="800" Height="600" + > <UserControl.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> @@ -37,7 +39,7 @@ <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> - <RowDefinition Height="5"/> + <RowDefinition Height="40"/> </Grid.RowDefinitions> <Border Background="{DynamicResource Background.Static}" BorderThickness="0" Grid.Column="0" Grid.Row="0" > <Border BorderThickness="0" Margin="5" Background="{DynamicResource Window.Background}"> @@ -117,16 +119,21 @@ <TextBlock Grid.Column="0" Grid.Row="0">Name:</TextBlock> <TextBox Grid.Column="1" Grid.Row="0" VerticalAlignment="Center" Text="{Binding ProjectName}"/> - <TextBlock Grid.Column="0" Grid.Row="2" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Text="Location"/> - <Border Background="{DynamicResource ListBorder}" Grid.Column="1" Grid.Row="2" Margin="0,2,0,2" BorderBrush="{DynamicResource Button.Static.Border}" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}"> + <TextBlock Grid.Column="0" Grid.Row="2" Text="Location"/> + <Border Background="{DynamicResource ListBorder}" Grid.Column="1" Grid.Row="2" Margin="0,2,0,2" BorderBrush="{DynamicResource Button.Static.Border}" > <ComboBox Style="{DynamicResource TangoComboboxStyle}" VerticalAlignment="Stretch" SelectedItem="{Binding ProjectLocation}" ItemsSource="{Binding Locations}" HorizontalAlignment="Stretch" BorderBrush="Transparent"/> </Border> - <Button Style="{DynamicResource TangoButtonStyle}" Grid.Column="2" Grid.Row="2" Width="80" HorizontalAlignment="Left" Margin="20,0,0,0" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Content="Browse..."/> - <TextBlock Grid.Column="0" Grid.Row="4" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}" Text="Solution name:"/> - <TextBox Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Text="{Binding SolutionName}" Visibility="{Binding Path=IsNewSolutionDialog, Converter={StaticResource BoolToVis}}"/> + <Button Style="{DynamicResource TangoButtonStyle}" Grid.Column="2" Grid.Row="2" Width="80" HorizontalAlignment="Left" Margin="20,0,0,0" Content="Browse..." Command="{Binding BrowseFileCommand}"/> + <TextBlock Grid.Column="0" Grid.Row="4" Text="Solution name:"/> + <TextBox Grid.Column="1" Grid.Row="4" VerticalAlignment="Center" Text="{Binding SolutionName}" /> </Grid> </Border> - + <Border Grid.Row="2" Grid.ColumnSpan="2"> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" > + <Button Style="{DynamicResource TangoButtonStyle}" IsDefault="True" Width="80" Height="24" Command="{Binding OKCommand}">OK</Button> + <Button Margin="8,0,15,0" Style="{DynamicResource TangoButtonStyle}" Width="80" Height="24" Command="{Binding CloseCommand}">Cancel</Button> + </StackPanel> + </Border> </Grid> </UserControl> diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs index cdbea2199..5221146d8 100644 --- a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectView.xaml.cs @@ -18,9 +18,9 @@ namespace Tango.Scripting.IDE.Dialogs /// <summary> /// Interaction logic for AddNewControl.xaml /// </summary> - public partial class AddNewControl : UserControl + public partial class NewProjectView : UserControl { - public AddNewControl() + public NewProjectView() { InitializeComponent(); } diff --git a/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs new file mode 100644 index 000000000..4b656c98c --- /dev/null +++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectViewVM.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Media.Imaging; +using Tango.Core.Commands; +using Tango.Scripting.IDE.ProjectTypes; +using Tango.SharedUI; +using Microsoft.WindowsAPICodePack.Dialogs; +using Microsoft.Win32; + +namespace Tango.Scripting.IDE.Dialogs +{ + public class NewProjectViewVM : BaseProjectDialogVM + { + + static public ObservableCollection<String> Locations { get; set; } = new ObservableCollection<string>(); + + private String _solutionName = "App1"; + public String SolutionName + { + get { return _solutionName; } + set { _solutionName = value; RaisePropertyChangedAuto(); } + } + #region Commands + public RelayCommand BrowseFileCommand { get; set; } + #endregion + public NewProjectViewVM() : base() + { + Title = "New Project"; + + if(Locations.IndexOf(ProjectLocation) < 0) + { + Locations.Add(ProjectLocation); + } + BrowseFileCommand = new RelayCommand(BrowseFile); + } + private void BrowseFile() + { + CommonOpenFileDialog dialog = new CommonOpenFileDialog(); + dialog.InitialDirectory = Locations.LastOrDefault<string>(); + dialog.IsFolderPicker = true; + if (dialog.ShowDialog() == CommonFileDialogResult.Ok) + { + if( Directory.Exists(dialog.FileName) == true) + { + if(false == Locations.Contains(dialog.FileName)) + { + Locations.Add(dialog.FileName); + } + ProjectLocation = dialog.FileName; + } + } + } + } +} |
