aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-04-01 00:14:28 +0300
committerShlomo Hecht <shlomo@twine-s.com>2019-04-01 00:14:28 +0300
commitf53099c8fddc7374857d29ee5521c00d91ec6d70 (patch)
tree4945687b08c716788666a6466a03cdab4becb733 /Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs
parentdf688ddc3e919acd254d79b73eaa22bd73d92062 (diff)
parent09eea5f5f8ab13a98fd4f106180230916d4885b8 (diff)
downloadTango-f53099c8fddc7374857d29ee5521c00d91ec6d70.tar.gz
Tango-f53099c8fddc7374857d29ee5521c00d91ec6d70.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs')
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml132
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs29
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml33
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialog.xaml.cs40
-rw-r--r--Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs83
5 files changed, 308 insertions, 9 deletions
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/AddNewControl.xaml
new file mode 100644
index 000000000..e49925dad
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml
@@ -0,0 +1,132 @@
+<UserControl x:Class="Tango.Scripting.IDE.Dialogs.AddNewControl"
+ 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"
+ d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=local:NewProjectDialogVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.NewProjectDialogVM}">
+ <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 Background="{DynamicResource Window.Background}">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="240"/>
+ </Grid.ColumnDefinitions>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="*"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="5"/>
+ </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}"/>
+
+ <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}}">
+ <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}}"/>
+
+ </Grid>
+ </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/AddNewControl.xaml.cs
new file mode 100644
index 000000000..cdbea2199
--- /dev/null
+++ b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/AddNewControl.xaml.cs
@@ -0,0 +1,29 @@
+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 AddNewControl.xaml
+ /// </summary>
+ public partial class AddNewControl : UserControl
+ {
+ public AddNewControl()
+ {
+ InitializeComponent();
+ }
+
+ }
+}
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
index 7942a7165..914740ede 100644
--- 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
@@ -1,12 +1,35 @@
-<UserControl x:Class="Tango.Scripting.IDE.Dialogs.NewProjectDialog"
+<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"
- d:DesignHeight="450" d:DesignWidth="800">
- <Grid>
-
+ 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>
-</UserControl>
+</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
index 376190e3a..24c9511e7 100644
--- 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
@@ -1,4 +1,5 @@
-using System;
+
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
@@ -18,11 +19,44 @@ namespace Tango.Scripting.IDE.Dialogs
/// <summary>
/// Interaction logic for NewProjectDialog.xaml
/// </summary>
- public partial class NewProjectDialog : UserControl
+ public partial class NewProjectDialog : Window
{
- public NewProjectDialog()
+ 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/NewProjectDialogVM.cs b/Software/Visual_Studio/TEMP/Tango.Scripting/Tango.Scripting.IDE/Dialogs/NewProjectDialogVM.cs
index 3c25e70f3..1dd0e3205 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/NewProjectDialogVM.cs
@@ -1,14 +1,95 @@
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.Scripting.IDE.ProjectTypes;
using Tango.SharedUI;
namespace Tango.Scripting.IDE.Dialogs
{
- public class NewProjectDialogVM : ViewModel
+ public class NewProjectDialogVM : DialogViewVM
{
+ 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;
+ RaisePropertyChangedAuto();
+ RaisePropertyChanged("LargeImage");
+ RaisePropertyChanged("SelectedDescription");
+ }
+ }
+ private BitmapSource _defaultLargeImage = ProjectType.GetImage("Images/test.png");
+ public BitmapSource LargeImage
+ {
+ get
+ {
+ if (SelectedProjectType != null)
+ return SelectedProjectType.LargeImage;
+ else return _defaultLargeImage;
+ }
+ }
+ public string SelectedDescription
+ {
+ get
+ {
+ if (SelectedProjectType != null)
+ return SelectedProjectType.Description;
+ return "";
+ }
+ }
+ private String _projectName = "App1";
+ public String ProjectName
+ {
+ get { return _projectName; }
+ set { _projectName = value; RaisePropertyChangedAuto(); }
+ }
+ private String _projectLocation;
+ public String ProjectLocation
+ {
+ 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()
+ {
+ ProjectTypes = new ObservableCollection<IProjectType>();
+ RegisterProjectType(new StubProjectType());
+ RegisterProjectType(new UnitTestProjectType());
+
+ _selectedProjectType = ProjectTypes.FirstOrDefault();
+
+ string workingDirectory = Environment.CurrentDirectory;
+ _projectLocation = Directory.GetParent(workingDirectory).Parent.Parent.FullName;
+
+ Locations = new List<string>();
+ Locations.Add(_projectLocation);
+
+ }
+ public void RegisterProjectType(IProjectType projectType)
+ {
+ ProjectTypes.Add(projectType);
+ }
+
+ public void UnRegisterProjectItemHandler(IProjectType projectType)
+ {
+ ProjectTypes.Remove(projectType);
+ }
}
}