private void CreateViewModel()
 {
     _viewModel = new NewProjectDialogViewModel(_service)
     {
         View = _windowStub.Object
     };
 }
        public NewProjectDialogView()
        {
            NewProject = new NewProjectDialogViewModel();
            NewProject.PropertyChanged += NewConfig_PropertyChanged;
            DataContext = NewProject;

            WindowStartupLocation = WindowStartupLocation.CenterScreen;

            InitializeComponent();
        }
Exemple #3
0
        private static string SuggestFileName(NewProjectDialogViewModel vm)
        {
            if (string.IsNullOrWhiteSpace(vm.ProjectName))
            {
                return("Project");
            }

            // Filter file name
            return(string.Join("_", vm.ProjectName.Split(System.IO.Path.GetInvalidFileNameChars())));
        }
        private static async Task CreateProject()
        {
            var vm = new NewProjectDialogViewModel();

            var result = new NewProjectDialog(vm).ShowDialog();

            // MessageBox.Show($"Project Name: {vm.ProjectName}{Environment.NewLine}Project Location: {vm.ProjectLocation}{Environment.NewLine}Game Type: {vm.GameType}{Environment.NewLine}Project Type: {vm.ProjectType}", "result");

            // If they canceled the operation, just quit.
            if (result == false)
            {
                return;
            }

            var instance = (MainWindow)Application.Current.MainWindow;
            CancellationTokenSource cts = new CancellationTokenSource();
            MetroDialogSettings     mds = new MetroDialogSettings()
            {
                ColorScheme           = MetroDialogColorScheme.Theme,
                AffirmativeButtonText = "Continue",
                CancellationToken     = cts.Token
            };

            ProgressDialogController controller = await instance.ShowProgressAsync($"Creating Project '{vm.ProjectName}'", "Please wait...", true, mds);

            IFileService       fileService       = new FileService();
            INewProjectService newProjectService = new NewProjectService(Log.Logger, fileService);

            await newProjectService.CreateNewProject(vm.ProjectName, vm.ProjectFile, vm.GameType, vm.CloneStock, vm.Fallback, controller);

            controller.SetProgress(1d);
            controller.SetMessage("Done!");

            await Task.Delay(1000);

            await controller.CloseAsync();

            // Open the newly created project
        }
Exemple #5
0
        private static void SaveFile(NewProjectDialogViewModel vm)
        {
            var sfd = new SaveFileDialog()
            {
                FileName         = SuggestFileName(vm),
                DefaultExt       = ".bzi",
                Filter           = "Battlezone UI Project (.bzi)|*.bzi",
                AddExtension     = true,
                InitialDirectory = string.IsNullOrEmpty(vm.ProjectLocation) ? Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) : vm.ProjectLocation,
                Title            = "Project Location",
                OverwritePrompt  = true,
                ValidateNames    = true
            };

            var result = sfd.ShowDialog();

            if (result == System.Windows.Forms.DialogResult.OK || result == System.Windows.Forms.DialogResult.Yes)
            {
                // vm.ProjectName = System.IO.Path.GetFileNameWithoutExtension(sfd.FileName);
                // vm.ProjectLocation = System.IO.Path.GetDirectoryName(sfd.FileName);
                vm.ProjectFile = new FileInfo(sfd.FileName);
            }
        }
 public void TestInitialize()
 {
     NewProjectDialog = new NewProjectDialogViewModel();
 }
Exemple #7
0
 public NewProjectDialog(NewProjectDialogViewModel vm)
 {
     DataContext = viewModel = vm;
     instance    = this;
     InitializeComponent();
 }