/// <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);
            }
        }
Ejemplo n.º 2
0
        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();
        }