コード例 #1
0
 private static void CopyIProjectItemModelMembers(IProjectItemModel target, IProjectItemModel source)
 {
     target.ProjectId    = source.ProjectId;
     target.Id           = source.Id;
     target.Name         = source.Name;
     target.LastModified = source.LastModified;
 }
コード例 #2
0
        public void ShowWebFolders(IList <IProjectItemModel> folders, IProjectItemModel selected)
        {
            _foldersBindingSource.DataSource = folders;
            int index = selected == null ? 0 : FindFolder(selected);

            _foldersBindingSource.Position = index;
        }
コード例 #3
0
 private static void CopyIProjectItemModelMembers(IProjectItemModel target, IProjectItemModel source)
 {
     target.ProjectId = source.ProjectId;
     target.Id = source.Id;
     target.Name = source.Name;
     target.LastModified = source.LastModified;
 }
 internal void FireWebFolderSelected(IProjectItemModel folder)
 {
     WebFolderSelected = folder;
     if (WebFolderChanged != null)
     {
         WebFolderChanged(this, new EventArgs());
     }
 }
 public void SelectWebFolder(IProjectItemModel moduleFolder)
 {
     WebFolderSelected = moduleFolder;
     if (WebFolderChanged != null)
     {
         WebFolderChanged(this, new EventArgs());
     }
 }
コード例 #6
0
        public void RefreshSolutionPreview(IProjectModel activeModuleProject, IProjectItemModel activeProjectItem, bool isWpfView)
        {
            _activeModuleProject = activeModuleProject;
            _activeProjectItem   = activeProjectItem;
            _isWpfView           = isWpfView;

            GenerateAssembliesTree();
        }
コード例 #7
0
        void OnModuleProjectChanged(object sender, EventArgs e)
        {
            _model.ModuleProject = _view.ActiveModuleProject;
            _view.ShowTestProject(_model.TestProjectExists);
            List <IProjectItemModel> moduleFolders        = GetModuleFolders(_model.WebFolders);
            IProjectItemModel        selectedModuleFolder = SelectWebFolder(moduleFolders, _model.ModuleProject, _model.WebProject, _model.ModuleInfoCollection);

            _view.SelectWebFolder(selectedModuleFolder);
        }
コード例 #8
0
        public void SelectWebFolder(IProjectItemModel moduleFolder)
        {
            int index = FindFolder(moduleFolder);

            _foldersBindingSource.Position = index;
            if (ViewNameChanged != null)
            {
                ViewNameChanged(_viewNameTextBox, CreateValidationEventArgs());
            }
        }
コード例 #9
0
        private void _foldersBindingSource_CurrentChanged(object sender, EventArgs e)
        {
            _activeWebFolder = _foldersBindingSource.Current as IProjectItemModel;
            if (WebFolderChanged != null)
            {
                WebFolderChanged(sender, CreateValidationEventArgs());
            }

            this.ValidateChildren();

            Wizard.OnValidationStateChanged(this);
            RefreshSolutionPreview();
        }
        public void ChangeWebFolderOnViewChangesModel()
        {
            IList <IProjectItemModel> folders = GetMockWebsiteFolders();

            mockModel.WebFolders = folders;
            mockModel.WebFolder  = folders[1]; // Module1 folder

            // change to Module2 folder
            IProjectItemModel selected = folders[2];

            view.FireWebFolderSelected(selected);

            Assert.AreSame(view.ActiveWebFolder, selected);
            Assert.AreSame(mockModel.WebFolder, folders[2]);
        }
コード例 #11
0
 private static void CopyProjectContainerItemsFromModelToDto(ProjectItemContainerModel dto, ProjectItemContainerModel model)
 {
     //dto.Children = new List<IProjectItemModel>();
     foreach (var childModel in model.Children)
     {
         IProjectItemModel childDto = null;
         if (childModel is ProjectDirectoryModel)
         {
             childDto = FromModelToDto((ProjectDirectoryModel)childModel);
         }
         else if (childModel is ProjectFileModel)
         {
             childDto = FromModelToDto((ProjectFileModel)childModel);
         }
         dto.Children.Add(childDto);
     }
 }
コード例 #12
0
 private static void CopyProjectContainerItemsFromDtoToModel(ProjectItemContainerModel model, ProjectItemContainerModel dto)
 {
     //CopyIProjectItemModelMembers(model, dto);
     //model.Children = new List<IProjectItemModel>();
     foreach (var childDto in dto.Children)
     {
         IProjectItemModel childModel = null;
         if (childDto is ProjectDirectoryDto)
         {
             childModel = FromDtoToModel((ProjectDirectoryDto)childDto);
         }
         else if (childDto is ProjectFileDto)
         {
             childModel = FromDtoToModel((ProjectFileDto)childDto);
         }
         model.Children.Add(childModel);
     }
 }
コード例 #13
0
 private static void CopyProjectContainerMembersFromViewModelToModel(ProjectItemContainerModel model, ProjectItemContainerViewModel viewModel)
 {
     model.Id           = viewModel.Id;
     model.ProjectId    = viewModel.ProjectId;
     model.Name         = viewModel.Name;
     model.LastModified = viewModel.LastModified;
     //model.Children = new List<IProjectItemModel>();
     foreach (var childViewModel in viewModel.Children)
     {
         IProjectItemModel childModel = null;
         if (childViewModel is ProjectDirectoryViewModel)
         {
             childModel = FromViewModelToModel((ProjectDirectoryViewModel)childViewModel);
         }
         else if (childViewModel is ProjectFileViewModel)
         {
             childModel = FromViewModelToModel((ProjectFileViewModel)childViewModel);
         }
         model.Children.Add(childModel);
     }
 }
コード例 #14
0
        private bool WebFolderExistsInWebsite(string virtualPath, IList <IProjectItemModel> webFolders)
        {
            virtualPath = RemoveTrailingWack(virtualPath);
            int    indexOfWack = virtualPath.LastIndexOf('/');
            string folderName;

            if (indexOfWack != -1 && virtualPath.Length > indexOfWack + 1)
            {
                folderName = virtualPath.Substring(indexOfWack + 1);
            }
            else
            {
                folderName = virtualPath;
            }
            List <IProjectItemModel> foldersList = new List <IProjectItemModel>(webFolders);
            IProjectItemModel        result      = foldersList.Find(delegate(IProjectItemModel match)
            {
                return(match.Name == folderName);
            });

            return(result != null);
        }
コード例 #15
0
        private int FindFolder(IProjectItemModel selected)
        {
            int index = 0;

            if (selected != null)
            {
                List <IProjectItemModel> folders = _foldersBindingSource.DataSource as List <IProjectItemModel>;
                if (folders != null)
                {
                    index = folders.FindIndex(delegate(IProjectItemModel match)
                    {
                        if (match != null)
                        {
                            return(match.ProjectItem.Equals(selected.ProjectItem));
                        }
                        else
                        {
                            return(false);
                        }
                    });
                }
            }
            return(index);
        }
コード例 #16
0
 public void AddProjectItem(IProjectItemModel item)
 {
     projectItems.Add(item);
 }
 public void SelectWebFolder(IProjectItemModel moduleFolder)
 {
     WebFolderSelected = moduleFolder;
     if (WebFolderChanged != null)
         WebFolderChanged(this, new EventArgs());
 }
 public void ShowWebFolders(IList<IProjectItemModel> folders, IProjectItemModel selected)
 {
     WebFoldersDisplayed = folders;
     WebFolderSelected = selected;
 }
 internal void FireWebFolderSelected(IProjectItemModel folder)
 {
     WebFolderSelected = folder;
     if ( WebFolderChanged != null )
         WebFolderChanged(this, new EventArgs());
 }
コード例 #20
0
 public void AddProjectItem(IProjectItemModel item)
 {
     projectItems.Add(item);
 }
コード例 #21
0
 public void SelectWebFolder(IProjectItemModel moduleFolder)
 {
     int index = FindFolder(moduleFolder);
     _foldersBindingSource.Position = index;
     if (ViewNameChanged != null)
         ViewNameChanged(_viewNameTextBox, CreateValidationEventArgs());
 }
コード例 #22
0
 public void AddFolder(IProjectItemModel item)
 {
     _folders.Add(item);
 }
コード例 #23
0
 private int FindFolder(IProjectItemModel selected)
 {
     int index = 0;
     if (selected != null)
     {
         List<IProjectItemModel> folders = _foldersBindingSource.DataSource as List<IProjectItemModel>;
         if (folders != null)
         {
             index = folders.FindIndex(delegate(IProjectItemModel match)
             {
                 if (match != null)
                 {
                     return match.ProjectItem.Equals(selected.ProjectItem);
                 }
                 else
                 {
                     return false;
                 }
             });
         }
     }
     return index;
 }
コード例 #24
0
 public void ShowWebFolders(IList<IProjectItemModel> folders, IProjectItemModel selected)
 {
     _foldersBindingSource.DataSource = folders;
     int index = selected == null ? 0 : FindFolder(selected);
     _foldersBindingSource.Position = index;
 }
 public void ShowWebFolders(IList <IProjectItemModel> folders, IProjectItemModel selected)
 {
     WebFoldersDisplayed = folders;
     WebFolderSelected   = selected;
 }
コード例 #26
0
        private void _foldersBindingSource_CurrentChanged(object sender, EventArgs e)
        {
            _activeWebFolder = _foldersBindingSource.Current as IProjectItemModel;
            if (WebFolderChanged != null)
                WebFolderChanged(sender, CreateValidationEventArgs());

            this.ValidateChildren();

            Wizard.OnValidationStateChanged(this);
            RefreshSolutionPreview();
        }
コード例 #27
0
        public void GetViewPreview(bool createViewFolder, string viewName, bool testProjectExists, IProjectModel activeModuleProject, IProjectItemModel activeProjectItem, bool isWpfView)
        {
            assembliesTreeView.BeginUpdate();
            assembliesTreeView.Nodes.Clear();

            if (activeModuleProject != null)
            {
                TreeNode rootNode;

                rootNode                  = assembliesTreeView.Nodes.Add("Source");
                rootNode.ImageKey         = solutionFolderIcon;
                rootNode.SelectedImageKey = solutionFolderIcon;

                TreeNode moduleProjectNode = rootNode.Nodes.Add(activeModuleProject.Name);
                moduleProjectNode.ImageKey         = projectIcon;
                moduleProjectNode.SelectedImageKey = projectIcon;

                TreeNode viewsParentFolderNode = moduleProjectNode;
                TreeNode parentNode            = moduleProjectNode;

                if (activeProjectItem != null)
                {
                    string projectPath = activeModuleProject.ProjectPath;
                    string folderPath  = activeProjectItem.ItemPath;

                    if (folderPath.StartsWith(projectPath))
                    {
                        folderPath = folderPath.Replace(projectPath, String.Empty);
                        folderPath = Path.GetDirectoryName(folderPath);

                        string[] folders = folderPath.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
                        foreach (string innerFolder in folders)
                        {
                            parentNode = parentNode.Nodes.Add(innerFolder);
                            parentNode.Parent.Expand();
                            parentNode.ImageKey         = folderIcon;
                            parentNode.SelectedImageKey = folderIcon;
                        }

                        viewsParentFolderNode                  = parentNode.Nodes.Add(activeProjectItem.Name);
                        viewsParentFolderNode.ImageKey         = folderIcon;
                        viewsParentFolderNode.SelectedImageKey = folderIcon;
                        parentNode.Expand();
                    }
                }

                TreeNode viewFolderNode;
                if (createViewFolder)
                {
                    viewFolderNode                  = viewsParentFolderNode.Nodes.Add(viewName);
                    viewFolderNode.ImageKey         = folderIcon;
                    viewFolderNode.SelectedImageKey = folderIcon;
                }
                else
                {
                    viewFolderNode = viewsParentFolderNode;
                }


                TreeNode viewInterfaceNode = viewFolderNode.Nodes.Add(String.Format("I{0}.{1}", viewName, extension));
                viewInterfaceNode.ImageKey         = itemIcon;
                viewInterfaceNode.SelectedImageKey = itemIcon;

                string   userControlExtension = isWpfView ? xamlExtension : extension;
                string   userControlIcon      = isWpfView ? wpfUserControlIcon : winFormsUserControlIcon;
                TreeNode viewUserControlNode  = viewFolderNode.Nodes.Add(String.Format("{0}.{1}", viewName, userControlExtension));
                viewUserControlNode.ImageKey         = userControlIcon;
                viewUserControlNode.SelectedImageKey = userControlIcon;

                TreeNode viewPresenterNode = viewFolderNode.Nodes.Add(String.Format("{0}Presenter.{1}", viewName, extension));
                viewPresenterNode.ImageKey         = itemIcon;
                viewPresenterNode.SelectedImageKey = itemIcon;

                if (testProjectExists)
                {
                    string   testProjectName = string.Format(CultureInfo.InvariantCulture, "{0}.Tests", activeModuleProject.Name);
                    TreeNode testProjectNode = rootNode.Nodes.Add(testProjectName);
                    testProjectNode.ImageKey         = projectIcon;
                    testProjectNode.SelectedImageKey = projectIcon;
                    testProjectNode.Expand();

                    TreeNode testDotNode1 = testProjectNode.Nodes.Add("...");
                    testDotNode1.ImageKey         = folderIcon;
                    testDotNode1.SelectedImageKey = folderIcon;

                    TreeNode testViewsNode = testProjectNode.Nodes.Add("Views");
                    testViewsNode.ImageKey         = folderIcon;
                    testViewsNode.SelectedImageKey = folderIcon;

                    TreeNode fixtureNode = testViewsNode.Nodes.Add(string.Format(CultureInfo.InvariantCulture, "{0}PresenterFixture.cs", viewName));
                    fixtureNode.ImageKey         = itemIcon;
                    fixtureNode.SelectedImageKey = itemIcon;

                    TreeNode testDotNode2 = testProjectNode.Nodes.Add("...");
                    testDotNode2.ImageKey         = folderIcon;
                    testDotNode2.SelectedImageKey = folderIcon;

                    testProjectNode.Expand();
                    testViewsNode.Expand();
                }

                rootNode.Expand();
                moduleProjectNode.Expand();
                viewsParentFolderNode.Expand();
                viewFolderNode.Expand();
            }

            assembliesTreeView.EndUpdate();
        }
コード例 #28
0
 public void RefreshSolutionPreview(IProjectModel activeModuleProject, IProjectItemModel activeProjectItem, bool isWpfView)
 {
     _previewRefreshed = true;
 }
コード例 #29
0
        public void GetAddViewWebsitePreview(string viewName, string viewFileExtension, IProjectItemModel webFolder, IProjectModel webProject)
        {
            if ((webProject != null) &&
                (webFolder != null))
            {
                assembliesTreeView.BeginUpdate();
                assembliesTreeView.Nodes.Clear();

                string website = string.Empty;
                if (webProject != null)
                {
                    website = webProject.Name;
                }
                TreeNode websiteNode = assembliesTreeView.Nodes.Add(website);
                websiteNode.ImageKey         = webProjectIcon;
                websiteNode.SelectedImageKey = webProjectIcon;

                TreeNode viewContainerNode;
                if (webFolder.Name == "Root")
                {
                    viewContainerNode = websiteNode;
                }
                else
                {
                    TreeNode parentNode  = websiteNode;
                    string   folderPath  = webFolder.ItemPath;
                    string   webSitePath = webProject.ProjectPath;

                    if (folderPath.StartsWith(webSitePath))
                    {
                        folderPath = folderPath.Replace(webSitePath, String.Empty);
                        folderPath = System.IO.Path.GetDirectoryName(folderPath);

                        string[] folders = folderPath.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
                        foreach (string innerFolder in folders)
                        {
                            parentNode                  = parentNode.Nodes.Add(innerFolder);
                            parentNode.ImageKey         = solutionFolderIcon;
                            parentNode.SelectedImageKey = solutionFolderIcon;
                        }
                    }

                    string folder = webFolder.Name;
                    viewContainerNode                  = parentNode.Nodes.Add(folder);
                    viewContainerNode.ImageKey         = solutionFolderIcon;
                    viewContainerNode.SelectedImageKey = solutionFolderIcon;
                }

                TreeNode genericNode1 = viewContainerNode.Nodes.Add(String.Format(CultureInfo.InvariantCulture, ellipsis));
                genericNode1.ImageKey         = webFormIcon;
                genericNode1.SelectedImageKey = webFormIcon;

                TreeNode viewNode = viewContainerNode.Nodes.Add(string.Format(CultureInfo.InvariantCulture, "{0}.{1}", viewName, viewFileExtension));
                if (viewFileExtension == "ascx")
                {
                    viewNode.ImageKey         = webUserControlIcon;
                    viewNode.SelectedImageKey = webUserControlIcon;
                }
                else if (viewFileExtension == "master")
                {
                    viewNode.ImageKey         = masterPageIcon;
                    viewNode.SelectedImageKey = masterPageIcon;
                }
                else
                {
                    viewNode.ImageKey         = webFormIcon;
                    viewNode.SelectedImageKey = webFormIcon;
                }

                TreeNode viewCodebehindNode = viewNode.Nodes.Add(string.Format(CultureInfo.InvariantCulture, "{0}.{1}.{2}", viewName, viewFileExtension, extension));
                viewCodebehindNode.ImageKey         = itemIcon;
                viewCodebehindNode.SelectedImageKey = itemIcon;

                TreeNode genericNode2 = viewContainerNode.Nodes.Add(String.Format(CultureInfo.InvariantCulture, ellipsis));
                genericNode2.ImageKey         = webFormIcon;
                genericNode2.SelectedImageKey = webFormIcon;

                assembliesTreeView.ExpandAll();
                assembliesTreeView.EndUpdate();
            }
        }
コード例 #30
0
        public void GetAddViewWebsitePreview(string viewName, string viewFileExtension, IProjectItemModel webFolder, IProjectModel webProject)
        {
            if ((webProject != null)
                && (webFolder != null))
            {

                assembliesTreeView.BeginUpdate();
                assembliesTreeView.Nodes.Clear();

                string website=string.Empty;
                if (webProject != null)
                {
                    website = webProject.Name;
                }
                TreeNode websiteNode = assembliesTreeView.Nodes.Add(website);
                websiteNode.ImageKey = webProjectIcon;
                websiteNode.SelectedImageKey = webProjectIcon;

                TreeNode viewContainerNode;
                if (webFolder.Name == "Root")
                {
                    viewContainerNode = websiteNode;
                }
                else
                {
                    TreeNode parentNode = websiteNode;
                    string folderPath = webFolder.ItemPath;
                    string webSitePath = webProject.ProjectPath;

                    if (folderPath.StartsWith(webSitePath))
                    {
                        folderPath = folderPath.Replace(webSitePath, String.Empty);
                        folderPath = System.IO.Path.GetDirectoryName(folderPath);

                        string[] folders = folderPath.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
                        foreach (string innerFolder in folders)
                        {
                            parentNode = parentNode.Nodes.Add(innerFolder);
                            parentNode.ImageKey = solutionFolderIcon;
                            parentNode.SelectedImageKey = solutionFolderIcon;
                        }
                    }

                    string folder = webFolder.Name;
                    viewContainerNode = parentNode.Nodes.Add(folder);
                    viewContainerNode.ImageKey = solutionFolderIcon;
                    viewContainerNode.SelectedImageKey = solutionFolderIcon;
                }

                TreeNode genericNode1 = viewContainerNode.Nodes.Add(String.Format(CultureInfo.InvariantCulture,ellipsis));
                genericNode1.ImageKey = webFormIcon;
                genericNode1.SelectedImageKey = webFormIcon;

                TreeNode viewNode = viewContainerNode.Nodes.Add(string.Format(CultureInfo.InvariantCulture, "{0}.{1}", viewName ,viewFileExtension));
                if (viewFileExtension == "ascx")
                {
                    viewNode.ImageKey = webUserControlIcon;
                    viewNode.SelectedImageKey = webUserControlIcon;
                }
                else if (viewFileExtension == "master")
                {
                    viewNode.ImageKey = masterPageIcon;
                    viewNode.SelectedImageKey = masterPageIcon;
                }
                else
                {
                    viewNode.ImageKey = webFormIcon;
                    viewNode.SelectedImageKey = webFormIcon;
                }

                TreeNode viewCodebehindNode = viewNode.Nodes.Add(string.Format(CultureInfo.InvariantCulture, "{0}.{1}.{2}", viewName,viewFileExtension, extension));
                viewCodebehindNode.ImageKey = itemIcon;
                viewCodebehindNode.SelectedImageKey = itemIcon;

                TreeNode genericNode2 = viewContainerNode.Nodes.Add(String.Format(CultureInfo.InvariantCulture, ellipsis));
                genericNode2.ImageKey = webFormIcon;
                genericNode2.SelectedImageKey = webFormIcon;

                assembliesTreeView.ExpandAll();
                assembliesTreeView.EndUpdate();
            }
        }
コード例 #31
0
 public void AddFolder(IProjectItemModel item)
 {
     _folders.Add(item);
 }