/// <summary>Creates a new instance of our IncidentDetailsForm.</summary> public frmDetailsRequirement() { try { InitializeComponent(); //Load images needed.. this.imgLoadingIncident.Source = StaticFuncs.getImage("imgInfoWPF", new Size(48, 48)).Source; this.imgSavingIncident.Source = StaticFuncs.getImage("imgSaveWPF", new Size(48, 48)).Source; this.imgLoadingError.Source = StaticFuncs.getImage("imgErrorWPF", new Size(48, 48)).Source; //Load strings needed.. this.toolTxtSave.Text = StaticFuncs.getCultureResource.GetString("app_General_Save"); this.toolTxtRefresh.Text = StaticFuncs.getCultureResource.GetString("app_General_Refresh"); this.toolTxtLoadWeb.Text = StaticFuncs.getCultureResource.GetString("app_General_ViewBrowser"); this.lblLoadingIncident.Text = StaticFuncs.getCultureResource.GetString("app_Requirement_Loading"); this.lblSavingIncident.Text = StaticFuncs.getCultureResource.GetString("app_Requirement_Saving"); this.btnRetryLoad.Content = StaticFuncs.getCultureResource.GetString("app_General_ButtonRetry"); this.lblLoadingError.Text = StaticFuncs.getCultureResource.GetString("app_General_TalkingToServerErrorMessage"); this.lblExpanderDetails.Text = StaticFuncs.getCultureResource.GetString("app_General_ExpanderDetails"); this.lblName.Text = StaticFuncs.getCultureResource.GetString("app_General_Name") + ":"; this.lblTxtToken.Text = StaticFuncs.getCultureResource.GetString("app_General_CopyToClipboard"); this.lblStatus.Text = StaticFuncs.getCultureResource.GetString("app_General_Status") + ":"; this.lblCreatedBy.Text = StaticFuncs.getCultureResource.GetString("app_Requirement_CreatedBy") + ":"; this.lblOwnedBy.Text = StaticFuncs.getCultureResource.GetString("app_General_OwnedBy") + ":"; this.lblImportance.Text = StaticFuncs.getCultureResource.GetString("app_General_Priority") + ":"; this.lblRelease.Text = StaticFuncs.getCultureResource.GetString("app_General_AssociatedRequirement") + ":"; this.lblDescription.Text = StaticFuncs.getCultureResource.GetString("app_General_Description") + ":"; this.lblExpanderResolution.Text = StaticFuncs.getCultureResource.GetString("app_General_ExpanderResolution"); this.lblPlnEffort.Text = StaticFuncs.getCultureResource.GetString("app_General_EstEffort") + ":"; this.lblHours.Text = StaticFuncs.getCultureResource.GetString("app_General_Hours"); this.lblMins.Text = StaticFuncs.getCultureResource.GetString("app_General_Minutes"); this.lblExpanderTasks.Text = StaticFuncs.getCultureResource.GetString("app_Requirement_ExpanderTask"); //this.lblExpanderCustom.Text = StaticFuncs.getCultureResource.GetString("app_General_ExpanderCustom"); this.lblExpanderAttachments.Text = StaticFuncs.getCultureResource.GetString("app_General_Attachments"); this.lblAddNewResolution.Text = StaticFuncs.getCultureResource.GetString("app_General_AddNewComment") + ":"; this.btnConcurrencyMergeNo.Content = StaticFuncs.getCultureResource.GetString("app_General_Refresh"); this.btnConcurrencyMergeYes.Content = StaticFuncs.getCultureResource.GetString("app_General_Merge"); this.lblMergeConcurrency.Text = StaticFuncs.getCultureResource.GetString("app_Requirement_AskMergeConcurrency"); this.btnConcurrencyRefresh.Content = StaticFuncs.getCultureResource.GetString("app_General_Refresh"); this.lblNoMergeConcurrency.Text = StaticFuncs.getCultureResource.GetString("app_Requirement_NoMergeConcurrency"); //Load fixed-option dropdowns. // -- Importance for (int j = 0; j <= 4; j++) { //HACK: We use the same values as the Task Priority. RequirementPriority newImp = new RequirementPriority(); newImp.PriorityId = ((j == 0) ? new int?() : j); switch (j) { case 0: newImp.Name = StaticFuncs.getCultureResource.GetString("app_Task_Priority_0"); break; case 1: newImp.Name = StaticFuncs.getCultureResource.GetString("app_Task_Priority_1"); break; case 2: newImp.Name = StaticFuncs.getCultureResource.GetString("app_Task_Priority_2"); break; case 3: newImp.Name = StaticFuncs.getCultureResource.GetString("app_Task_Priority_3"); break; case 4: newImp.Name = StaticFuncs.getCultureResource.GetString("app_Task_Priority_4"); break; } this.cntrlImportance.Items.Add(newImp); } this.cntrlImportance.SelectedIndex = 0; // -- Status for (int i = 1; i <= 8; i++) { RequirementStatus newStatus = new RequirementStatus(); newStatus.StatusId = i; switch (i) { case 1: newStatus.Name = StaticFuncs.getCultureResource.GetString("app_Requirement_Status_Requested"); break; case 2: newStatus.Name = StaticFuncs.getCultureResource.GetString("app_Requirement_Status_Planned"); break; case 3: newStatus.Name = StaticFuncs.getCultureResource.GetString("app_Requirement_Status_InProgress"); break; case 4: newStatus.Name = StaticFuncs.getCultureResource.GetString("app_Requirement_Status_Completed"); break; case 5: newStatus.Name = StaticFuncs.getCultureResource.GetString("app_Requirement_Status_Accepted"); break; case 6: newStatus.Name = StaticFuncs.getCultureResource.GetString("app_Requirement_Status_Rejected"); break; case 7: newStatus.Name = StaticFuncs.getCultureResource.GetString("app_Requirement_Status_Evaluated"); break; case 8: newStatus.Name = StaticFuncs.getCultureResource.GetString("app_Requirement_Status_Obsolete"); break; } this.cntrlStatus.Items.Add(newStatus); } this.cntrlStatus.SelectedIndex = 0; } catch (Exception ex) { Logger.LogMessage(ex, ".ctor()"); MessageBox.Show(StaticFuncs.getCultureResource.GetString("app_General_UnexpectedError"), StaticFuncs.getCultureResource.GetString("app_General_ApplicationShortName"), MessageBoxButton.OK, MessageBoxImage.Error); } }
void OnGUI() { var windowRect = new Rect(Vector2.zero, position.size); var topRect = new Rect(0, 0, windowRect.size.x, topRectHeight); GUILayout.BeginArea(topRect); { GUILayout.Label("Requirements Manager", Data.nameStyle); GUILayout.BeginHorizontal(); { GUILayout.Label("Your name", Data.miniHeaderStyle); LocalData.localName = GUILayout.TextField(LocalData.localName); } GUILayout.EndHorizontal(); GUILayout.Space(6); GUILayout.Box(GUIContent.none, "ProfilerDetailViewBackground"); GUILayout.Space(-12); GUILayout.BeginHorizontal(); { filterFoldout = EditorGUILayout.Foldout(filterFoldout, "Filters", true, Data.foldoutStyle); EditorGUI.BeginChangeCheck(); if (ifFilterLocalPath) { GUI.color = Data.filterLocalColor; GUILayout.Label(filterPath, Data.filterPathStyle); } else { GUILayout.FlexibleSpace(); } if (GUILayout.Button(GUIContent.none, ifFilterLocalPath ? Data.filterLocalStyle : Data.filterWorldStyle)) { ifFilterLocalPath = !ifFilterLocalPath; RefreshList(); } GUI.color = Color.white; if (GUILayout.Button("Reset", Data.miniButtonSytle)) { ifFilterLocalPath = false; filterKeyword = ""; filterPersonIndex = 0; filterStatus = 0; filterPriority = 0; filterExtensionIndex = 0; } GUILayout.Space(3); } GUILayout.EndHorizontal(); if (filterFoldout) { GUILayout.BeginHorizontal(); { GUILayout.Space(Data.indentWidth); GUILayout.Label("Keyword", GUILayout.ExpandWidth(false)); filterKeyword = GUILayout.TextField(filterKeyword, GUILayout.ExpandWidth(true)); GUILayout.Label("Person", GUILayout.ExpandWidth(false)); filterPersonIndex = EditorGUILayout.Popup(filterPersonIndex, filterPersons.ToArray(), GUILayout.MaxWidth(Data.filterOptionWidth)); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); { GUILayout.Space(Data.indentWidth); GUILayout.Label("Status", GUILayout.ExpandWidth(false)); filterStatus = (RequirementStatus)EditorGUILayout.EnumFlagsField((RequirementStatusFilter)filterStatus, GUILayout.MaxWidth(Data.filterOptionWidth)); GUILayout.FlexibleSpace(); GUILayout.Label("Priority", GUILayout.ExpandWidth(false)); filterPriority = (RequirementPriority)EditorGUILayout.EnumFlagsField((RequirementPriorityFilter)filterPriority, GUILayout.MaxWidth(Data.filterOptionWidth)); GUILayout.FlexibleSpace(); GUILayout.Label("Format", GUILayout.ExpandWidth(false)); filterExtensionIndex = EditorGUILayout.Popup(filterExtensionIndex, filterExtensions.ToArray(), GUILayout.MaxWidth(Data.filterOptionWidth)); } GUILayout.EndHorizontal(); if (EditorGUI.EndChangeCheck()) { RefreshList(); } } GUILayout.Space(4); GUILayout.Box(GUIContent.none, "ProfilerDetailViewBackground"); GUILayout.Space(-12); sorterFoldout = EditorGUILayout.Foldout(sorterFoldout, "Sorters", true, Data.foldoutStyle); if (sorterFoldout) { EditorGUI.BeginChangeCheck(); GUILayout.BeginHorizontal(); { GUILayout.Space(Data.indentWidth); SorterField("Status", ref sorterStatusInverted, sorterStatus); SorterField("Priority", ref sorterPriorityInverted, sorterPriority); SorterField("Name", ref sorterNameInverted, sorterName); SorterField("Path", ref sorterPathInverted, sorterPath); } GUILayout.EndHorizontal(); if (EditorGUI.EndChangeCheck()) { RefreshList(); } } } GUILayout.EndArea(); var scrollRect = new Rect(0, topRectHeight, windowRect.size.x, windowRect.size.y - topRectHeight); var viewHeight = reqList.Count * (Data.reqRectMargin.y + Data.reqLabelHeight); var viewRect = new Rect(0, 0, scrollRect.width - (scrollRect.height > viewHeight ? 0 : 13), viewHeight); GUI.Box(new Rect(scrollRect.x, scrollRect.y, viewRect.width, scrollRect.height), GUIContent.none, "window"); scrollPos = GUI.BeginScrollView(scrollRect, scrollPos, viewRect); { var reqRect = new Rect(Data.reqRectMargin, new Vector2(viewRect.width - Data.reqRectMargin.x * 2, Data.reqLabelHeight)); foreach (var req in reqList) { RequirementField(reqRect, req); reqRect.y += Data.reqRectMargin.y + Data.reqLabelHeight; } } GUI.EndScrollView(); }