コード例 #1
0
        /// <summary>
        /// event is fired when a selection is made in the 'On'.
        /// Changing the TargetFramework will revert any custom references saved back to default.
        /// Sorry, not sure how else to do this.
        /// </summary>
        public void OnSelectedIndexChanged(LabelComboBoxControl control, int selectedIndex, object selectedItem)
        {
            // if the value for HasSelectedProject is true
            if (HasSelectedProject)
            {
                if (TextHelper.IsEqual(control.Name, BindingCallbackOptionControl.Name))
                {
                    // Set the BindingCallbackOption
                    SelectedProject.BindingCallbackOption = (BindingCallbackOptionEnum)selectedIndex;
                }
                else if (TextHelper.IsEqual(control.Name, ProjectTypeControl.Name))
                {
                    // Set the ProjectType
                    SelectedProject.TargetFramework = (TargetFrameworkEnum)(selectedIndex + 4);

                    // The DataJuggler.Net Reference Must Be Changed, based on the target framework

                    // DataJuggler.Net Reference has to change if this changes
                    SelectedProject.UpdateReferences();
                }
            }

            // Enable or disable controls
            UIEnable();
        }
コード例 #2
0
        public void SaveProject(out bool success, bool reloadProjectsActivated)
        {
            try
            {
                var clone    = (ProjectModel)SelectedProject.Clone(); // clone instance
                var saveTime = DateTime.Now;
                clone.LastSaved = saveTime;
                ProjectManager.StoreProject(clone);
                // if successful:
                this.SetUnsavedChanges(false); // must set unsaved changes before reload projects! (otherwise stack overflow, always tries to re-save)
                SelectedProject.LastSaved = saveTime;
                if (reloadProjectsActivated)
                {
                    this.ReloadProjects(); // update project view
                }

                this.uiService.DisplayBottomMessage(MessageSeverity.Success, $"Project {clone.Name} was saved successfully.");
                success = true;
            }
            catch (Exception ex)
            {
                this.uiService.DisplayBottomMessage(MessageSeverity.Error, $"Project {SelectedProject?.Name} could not be stored: {ex}");
                success = false;
            }
        }
コード例 #3
0
 public void ForceBuild()
 {
     if (IsProjectSelected)
     {
         SelectedProject.ForceBuild();
     }
 }
コード例 #4
0
 private void _makeWriteable()
 {
     if (SelectedProject != null)
     {
         SelectedProject.MakeWriteable();
     }
 }
コード例 #5
0
        public void GenerateProjectConfiguration()
        {
            if (this.SelectedProjectHasUnsavedChanges)
            {
                // first save project if there are unsaved changes
                this.SaveProject(out bool successfullySaved, true);

                // break if the project could not be saved => do not generate config
                if (successfullySaved == false)
                {
                    return;
                }
            }

            // create copy of selected project and start generation of configs
            var copyOfSelectedProject = (ProjectModel)SelectedProject.Clone();

            try
            {
                ConfigurationGenerator.GenerateAllConfigs(copyOfSelectedProject.Layers, copyOfSelectedProject.Name.ToLowerInvariant());
                this.uiService.DisplayBottomMessage(MessageSeverity.Success, $"All Configs were generated successfully.");
            }
            catch (Exception ex)
            {
                this.uiService.DisplayBottomMessage(MessageSeverity.Error, $"Configs could not be generated: {ex}");
            }
        }
コード例 #6
0
 private void AddItem_Exists()
 {
     if (SelectedProject == null)
     {
         Errorhandler.RaiseMessage("Please choose a project folder.", "Please choose", Errorhandler.MessageType.Error);
         return;
     }
     SelectedProject.AddExistingItem();
 }
コード例 #7
0
 /// <summary>
 /// Neues Unterprojekt starten
 /// </summary>
 private void NewFieldStructure()
 {
     if (SelectedProject == null)
     {
         Errorhandler.RaiseMessage("Please choose a project folder.", "Please choose", Errorhandler.MessageType.Error);
         return;
     }
     SelectedProject.NewFieldStructure();
 }
コード例 #8
0
ファイル: ProjectsViewModel.cs プロジェクト: whhub/CSharp
 private void ModelProjectUpdated(object sender, ProjectEventArgs e)
 {
     GetProject(e.Project.Id).Update(e.Project); //??why update model in view model?
     if (SelectedProject == null || e.Project.Id != SelectedProject.Id)
     {
         return;
     }
     SelectedProject.Update(e.Project);
     DetailsEstimateStatus = SelectedProject.EstimateStatus;
 }
コード例 #9
0
        private void Projectbox_DoubleClick(object sender, MouseEventArgs e)
        {
            UserProject project = (UserProject)Projectbox.SelectedItem;

            if (SelectedProject != null)
            {
                SelectedProject.Invoke(sender, project);
            }
            Close();
        }
コード例 #10
0
 public void AbortBuild()
 {
     if (IsProjectSelected && SelectedProject.ProjectState != ProjectState.NotConnected)
     {
         RunSecureMethod(b =>
         {
             SelectedProject.AbortBuild(this.GetUserName());
         }, "AbortBuild");
     }
 }
コード例 #11
0
 private void Save()
 {
     if (SelectedProject.WasNeverSaved)
     {
         SaveAs();
     }
     else
     {
         SelectedProject.Save();
     }
 }
コード例 #12
0
        private void model_ProjectUpdated(object sender,
                                          ProjectEventArgs e)
        {
            GetProject(e.Project.ID).Update(e.Project);
            if (SelectedProject == null || e.Project.ID != SelectedProject.ID)
            {
                return;
            }

            SelectedProject.Update(e.Project);
            DetailsEstimateStatus = SelectedProject.EstimateStatus;
        }
コード例 #13
0
 private void model_ProjectUpdated(object sender,
                                   ProjectEventArgs e)
 {
     GetProject(e.Project.ID).Update(e.Project);
     if (SelectedProject != null &&
         e.Project.ID == SelectedProject.ID)
     {
         SelectedProject.Update(e.Project);
         DetailsEstimateStatus =
             SelectedProject.EstimateStatus;
     }
 }
コード例 #14
0
        public List <ParameterBase> ListBuildParameters()
        {
            IProjectMonitor project = SelectedProject;

            if (project != null)
            {
                return(SelectedProject.ListBuildParameters());
            }
            else
            {
                return(null);
            }
        }
コード例 #15
0
        private void LeaveProject()
        {
            try
            {
                _Service.LeaveProject(SelectedProject.ToProjectModel(), _CurrentUser);

                _Messenger.NotifyColleagues(Messages.DeletedProject, SelectedProject);

                AssignedProjects.Remove(SelectedProject);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
        }
コード例 #16
0
 private void MenuProjectExcludeFromProjectClick(object sender, EventArgs e)
 {
     try
     {
         foreach (ProjectTreeNode node in SelectedNodes)
         {
             SelectedProject.Exclude(node.FileSystemPath);
         }
         Refresh();
     }
     catch (Exception ex)
     {
         MessageEngine.ShowError(ex);
     }
 }
コード例 #17
0
        /// <summary>
        /// 获取选中的项目所有信息
        /// </summary>
        /// <returns></returns>
        private SelectedProject GetSelectedProject()
        {
            SelectedProject projectInfo = null;

            try
            {
                var dte = (DTE)GetService(typeof(SDTE));
                //获取选中项目信息
                projectInfo = dte.GetSelectedProjectInfo();
            }
            catch (Exception)
            {
                OutputWindowHelper.OutPutMessage("未选择对应的项目,注意鼠标焦点");
            }
            return(projectInfo);
        }
コード例 #18
0
        private void cbSelectSprite_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            canvasSpriteView.Children.Clear();
            var selectedItem   = (ComboBoxItem)e.AddedItems[0];
            var selectedSprite = SelectedProject.GetSpriteBySpriteName((string)selectedItem.Content);

            this.SelectedEvents.Sprite = selectedSprite;
            if ((string)selectedItem.Content == "不使用精灵图片")
            {
                this.SelectedEvents.Sprite = null;
            }

            if (this.SelectedEvents.Sprite != null)
            {
                canvasSpriteView.Children.Add(this.SelectedEvents.Sprite);
                this.SelectedEvents.Sprite.Roll();
            }
        }
コード例 #19
0
 public void ForceBuild(Dictionary <string, string> parameters)
 {
     if (IsProjectSelected && SelectedProject.ProjectState != ProjectState.NotConnected)
     {
         try
         {
             RunSecureMethod(b => {
                 SelectedProject.ForceBuild(parameters, this.GetUserName());
             }, "ForceBuild");
         }
         catch (Exception error)
         {
             MessageBox.Show("An unexpected error has occurred while trying to force build" +
                             Environment.NewLine +
                             error.Message,
                             "Unknown error",
                             MessageBoxButtons.OK,
                             MessageBoxIcon.Error);
         }
     }
 }
コード例 #20
0
        /// <summary>
        /// This function is the callback used to execute the command when the menu item is clicked.
        /// See the constructor to see how the menu item is associated with this function using
        /// OleMenuCommandService service and MenuCommand class.
        /// </summary>
        /// <param name="sender">Event sender.</param>
        /// <param name="e">Event args.</param>
        private void MenuItemCallback(object sender, EventArgs e)
        {
            var dte = (DTE)this.ServiceProvider.GetService(typeof(SDTE));

            if (dte == null)
            {
                this.ServiceProvider.Show("获取当前项目信息DTE接口错误");
                return;
            }

            if (!dte.IsSelectedOnlyOne())
            {
                this.ServiceProvider.Show("您只能选择一个项目进行操作");
                return;
            }


            SelectedProject s = new SelectedProject(dte, this.ServiceProvider);;

            new Conn(s).Show();
        }
コード例 #21
0
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            //XPath= /save/region/node/children/node/attribute[id="Version"]
            try
            {
                if (SelectedProject != null)
                {
                    var metaDoc        = XDocument.Load(SelectedProject.ModMetaFilePath, LoadOptions.PreserveWhitespace);
                    var moduleInfoNode = metaDoc.Descendants("node").Where(att => att.Attribute("id").Value == "ModuleInfo").FirstOrDefault();

                    if (moduleInfoNode != null)
                    {
                        var versionNode = moduleInfoNode.Descendants("attribute").Where(att => att.Attribute("id").Value == "Version").FirstOrDefault();
                        if (versionNode != null)
                        {
                            var versionIntString = SelectedProject.VersionData.ToInt().ToString();
                            versionNode.Attribute("value").Value = versionIntString;
                            Log.Here().Important($"Updated project {SelectedProject.ProjectName} version to {versionIntString} ({SelectedProject.VersionData.ToString()})");

                            using (var writer = new XmlTextWriter(SelectedProject.ModMetaFilePath, new UpperCaseUTF8Encoding()))
                            {
                                metaDoc.Save(writer);
                            }

                            Log.Here().Important($"Saved meta.lsx at \"{SelectedProject.ModMetaFilePath}\"");
                        }
                    }

                    SelectedProject.RaisePropertyChanged("Version");
                }
            }
            catch (Exception ex)
            {
                Log.Here().Error($"Error updating project version: {ex.ToString()}");
            }

            Hide();

            SelectedProject = null;
        }
コード例 #22
0
        /// <summary>
        /// Combine the existing project image with the image given.
        /// If a project image does not exist, then make this given
        /// image the project image.
        /// </summary>
        /// <param name="bitmap">Bitmap to combine with Project image.</param>
        private void CombineWithProjectImage(Bitmap bitmap)
        {
            try
            {
                // Ensure a project is set
                if (SelectedProject != null)
                {
                    // Generate image filename
                    string projectImageName = SelectedProject.GetProjectImagePath();

                    // Check if the project image exist
                    if (File.Exists(projectImageName))
                    {
                        // Get the specs of the project image
                        MemoryStream ms              = new MemoryStream(File.ReadAllBytes(projectImageName));
                        Image        projectImage    = Image.FromStream(ms);
                        Graphics     projectGraphics = Graphics.FromImage(projectImage);

                        // Create a new image to store both images
                        using (Bitmap newProjectImage = new Bitmap(projectImage.Width + bitmap.Width, Math.Max(projectImage.Height, bitmap.Height)))
                        {
                            // Add the new image to the image stored
                            using (Graphics newProjectGraphics = Graphics.FromImage(newProjectImage))
                            {
                                //newProjectGraphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                                newProjectGraphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
                                newProjectGraphics.DrawImage(projectImage, 0, 0);
                                newProjectGraphics.DrawImage(bitmap, projectImage.Width, 0);
                                newProjectGraphics.Save();
                            }

                            // Save the image
                            try
                            {
                                newProjectImage.Save(projectImageName, ImageFormat.Png);

                                // Send an event that the image was updated
                                // This is to prevent the file being opened while the image is being saved
                                if (ImageUpdatedEvent != null)
                                {
                                    ImageUpdatedEvent();
                                }
                            }
                            catch (Exception e)
                            {
                                // Do nothing
                                log.Warn("Error creating Project Image", e);
                            }
                            finally
                            {
                                // Dispose of graphics and images
                                projectGraphics.Dispose();
                                projectImage.Dispose();
                                bitmap.Dispose();
                            }
                        }
                    }
                    else
                    {
                        // File did not exist so
                        // we do not need to combine and just
                        // save the image
                        try
                        {
                            bitmap.Save(projectImageName, ImageFormat.Png);
                        }
                        catch (Exception e)
                        {
                            // Do nothing
                            log.Warn("Error creating Project Image", e);
                        }
                        finally
                        {
                            // Dispose bitmap
                            bitmap.Dispose();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                log.Error("Unknown Error Creating Project Image.", e);
            }
        }
コード例 #23
0
ファイル: Conn.cs プロジェクト: radtek/efentitybuilder
 public Conn(SelectedProject selectedProject)
 {
     this.selectedProject = selectedProject;
     InitializeComponent();
 }
コード例 #24
0
 private void SaveCurrentProject()
 {
     // TODO : async
     SelectedProject.Save();
 }
        public GetAppInstallFilesBlobDialogViewModel()
        {
            // Show/Hide Blob
            ShowHideBlobSectionCommand.Subscribe(_ =>
            {
                ShowHideBlobSectionButtonLabel.Value = ShowBlobSectionVisibility.Value == Visibility.Collapsed
                    ? ExpandButtonLabel
                    : CollapseButtonLabel;
                ShowBlobSectionVisibility.Value = ShowBlobSectionVisibility.Value == Visibility.Collapsed
                    ? Visibility.Visible
                    : Visibility.Collapsed;
            })
            .AddTo(disposable);

            // Storage Credential Input
            StorageConnectionInput = new ReactiveProperty <string>(blobConnectionUseCase.Read <string>("blob_connection_string"));
            StorageConnectionInput.Subscribe(x => blobConnectionUseCase.Save("blob_connection_string", x)).AddTo(disposable);
            StorageContainerInput = new ReactiveProperty <string>(blobConnectionUseCase.Read <string>("container"));
            StorageContainerInput.Subscribe(x => blobConnectionUseCase.Save("container", x)).AddTo(disposable);

            // Copy Button
            CopyButtonContent  = new ReactiveProperty <string>("Copy SasUrl");
            CopyButtonEnabled  = ArtifactUrl.Select(x => !string.IsNullOrWhiteSpace(x)).ToReactiveProperty();
            OnClickCopyCommand = CopyButtonEnabled.ToReactiveCommand();
            OnClickCopyCommand
            .Do(_ => blobSasUrlUseCase.CopySasUrl(ArtifactUrl.Value, StorageConnectionInput.Value, StorageContainerInput.Value, SelectedArtifact.Value.Name))
            .SelectMany(x => TemporaryDisableCopyButtonAsObservable(TimeSpan.FromMilliseconds(500), "Copy SasUrl"))
            .Subscribe()
            .AddTo(disposable);

            // Download Button
            blobArtifactUsecase.DownloadStatus.Subscribe(x => DownloadStatus.Value = x).AddTo(disposable);
            OnClickDownloadCommand = CopyButtonEnabled.ToAsyncReactiveCommand();
            OnClickDownloadCommand
            .Subscribe(async _ => await blobArtifactUsecase.DownloadHoloLensPackagesAsync(StorageConnectionInput.Value, StorageContainerInput.Value, SelectedArtifact.Value.Name, SelectedArtifact.Value.Size, SelectedArtifact.Value.FileName))
            .AddTo(disposable);

            // OpenFolder Button
            OnClickOpenDownloadFolderCommand.Subscribe(_ => blobArtifactUsecase.OpenFolderAsync()).AddTo(disposable);
            OnClickOpenDownloadBlobFolderCommand.Subscribe(_ => blobArtifactUsecase.OpenDownloadFolderAsync()).AddTo(disposable);

            // Initialize by obtain artifact informations
            blobArtifactUsecase.Artifacts
            .Where(x => x != null)
            .Do(x =>
            {
                Projects.Add(x);
                BlobResult.Value = $"Found {Projects.Count} projects.";
            })
            .Subscribe()
            .AddTo(disposable);
            blobArtifactUsecase.RequestFailedMessage
            .Do(x => BlobResult.Value = x)
            .Subscribe()
            .AddTo(disposable);

            // Blob Download
            ComboBoxEnabled         = Projects.CollectionChangedAsObservable().Any().ToReactiveProperty();
            IsEnableCheckBlobButton = StorageConnectionInput
                                      .CombineLatest(StorageContainerInput, (r, l) => !string.IsNullOrWhiteSpace(r) && !string.IsNullOrWhiteSpace(l))
                                      .ToReadOnlyReactiveProperty();
            OnClickCheckBlobCommand = IsEnableCheckBlobButton.ToAsyncReactiveCommand();
            OnClickCheckBlobCommand.Subscribe(async _ =>
            {
                var task             = blobArtifactUsecase.RequestHoloLensPackagesAsync(StorageConnectionInput.Value, StorageContainerInput.Value);
                IsBlobChecking.Value = true;
                Projects.Clear();
                Branches?.Clear();
                Artifacts?.Clear();
                BlobResult.Value = "Trying obtain project infomations.";
                await task;
                IsBlobChecking.Value = false;
            })
            .AddTo(disposable);
            OnClickCancelBlobCommand = IsBlobChecking.Select(x => x).ToReactiveCommand();
            OnClickCancelBlobCommand
            .Do(_ => Projects.Clear())
            .Subscribe(_ => blobArtifactUsecase.CancelRequest())
            .AddTo(disposable);

            // Update Collection with Clear existing collection when selected.
            Branches = SelectedProject.Where(x => x != null)
                       .Do(_ => Branches?.Clear())
                       .Do(_ => Artifacts?.Clear())
                       .SelectMany(x => blobArtifactUsecase.GetArtifactCache(x.Project))
                       .ToReactiveCollection();
            Artifacts = SelectedBranch.Where(x => x != null)
                        .Do(x => Artifacts?.Clear())
                        .SelectMany(x => blobArtifactUsecase.GetArtifactCache(SelectedProject.Value?.Project, x.Branch))
                        .ToReactiveCollection();
            SelectedArtifact
            .Where(x => x != null)
            .Do(x =>
            {
                ArtifactName.Value    = x.Name;
                ArtifactCaption.Value = $"(Size: {x.Size}, MD5: {x.MD5}, LeaseState: {x.LeaseState})";
                ArtifactUrl.Value     = x.Uri.AbsoluteUri;
            })
            .ToReactiveProperty();
        }
コード例 #26
0
ファイル: Main.cs プロジェクト: radtek/efentitybuilder
 public Main(SelectedProject selectedProject, string connString)
 {
     this.selectedProject = selectedProject;
     this.connString      = connString;
     InitializeComponent();
 }
コード例 #27
0
ファイル: IssueForm.cs プロジェクト: 280780363/nugetmanager
 public IssueForm(SelectedProject selectedProject)
     : this(selectedProject.ProjectDirectoryName)
 {
 }
コード例 #28
0
 private void _deleteATask(object obj)
 {
     //var runToDelete = (ASTaskViewModel)obj;
     SelectedProject.DeleteATask(SelectedProject.SelectedRun);
 }
コード例 #29
0
 private void SaveProject()
 {
     SelectedProject.Save();
 }