コード例 #1
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (validatePropertyData())
            {
                ControlProperty controlProperty = new ControlProperty();
                controlProperty.Name               = txtPropertyName.Text;
                controlProperty.DisplayNameKey     = txtDisplayNameKey.Text;
                controlProperty.DescriptionNameKey = txtDescriptionKey.Text;
                controlProperty.Usage              = (Enum.UsageType)ddUsage.SelectedItem;
                controlProperty.IsRequired         = chkRequired.Checked;
                controlProperty.IsUsingTypeGroup   = chkUseTypeGroup.Checked;
                controlProperty.TypeOrTypeGroup    = ddOfType.SelectedValue.ToString();

                ControlManifestHelper manifestHelper = new ControlManifestHelper();

                if (newProperty)
                {
                    manifestHelper.CreateNewProperty(manifestDetails, controlProperty);
                    Routine_EditControl();
                }
                else
                {
                    manifestDetails = manifestHelper.UpdatePropertyDetails(persistedPropertyName, manifestDetails, controlProperty);
                }

                persistedPropertyName = controlProperty.Name;
                ParentControl.RefreshControlManifestDetails();
            }
            else
            {
                MessageBox.Show("The property entry is invalid. Please populate all required fields.", "Invalid Propert State", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
        public void RefreshControlManifestDetails()
        {
            ControlManifestHelper helper = new ControlManifestHelper();

            ParentControl.ControlDetails = helper.GetControlManifestDetails(ParentControl.ControlDetails.WorkingFolderPath);

            LoadTreeView();
        }
コード例 #3
0
        private void btnChangeControlDetails_Click(object sender, EventArgs e)
        {
            ControlManifestHelper cmHelper = new ControlManifestHelper();

            ParentControl.ControlDetails = cmHelper.UpdateControlDetails(ParentControl.ControlDetails, txtControlDisplayName.Text, txtControlDescription.Text);

            if (MessageBox.Show("Control Manifest file is updated with new control details.", "Update Control Details", MessageBoxButtons.OK, MessageBoxIcon.Information) == DialogResult.OK)
            {
                this.Close();
            }
        }
コード例 #4
0
        public void FetchProperties_Test()
        {
            ControlManifestDetails details = new ControlManifestDetails();

            details.WorkingFolderPath   = @"C:\PowerMeUpExamples\TestNewDesign";
            details.ControlName         = "PCFTest";
            details.ControlDescription  = "Testing";
            details.ManifestFilePath    = $"{details.WorkingFolderPath}\\{details.ControlName}\\ControlManifest.Input.xml";
            details.FoundControlDetails = true;

#if DEBUG
            ControlManifestHelper helper = new ControlManifestHelper();
            helper.FetchProperties(details);
#endif
        }
コード例 #5
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            ControlManifestHelper manifestHelper = new ControlManifestHelper();

            if (newType)
            {
                manifestHelper.AddNewTypeInTypeGroup(manifestDetails, lblParent.Text, ddType.SelectedValue.ToString());
            }
            else
            {
                manifestHelper.UpdateTypeInTypeGroup(lblParent.Text, persistedTypeName, ddType.SelectedValue.ToString(), manifestDetails);
            }

            persistedTypeName = ddType.SelectedValue.ToString();
            ParentControl.RefreshControlManifestDetails();
        }
コード例 #6
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            ControlManifestHelper manifestHelper = new ControlManifestHelper();

            if (newTypeGroup)
            {
                manifestHelper.CreateNewTypeGroup(manifestDetails, txtTypeGroupName.Text, ddType.SelectedValue.ToString());
                Routine_EditControl();
            }
            else
            {
                manifestHelper.UpdateTypeGroupName(persistedTypeGroupName, txtTypeGroupName.Text, manifestDetails);
            }

            persistedTypeGroupName = txtTypeGroupName.Text;
            ParentControl.RefreshControlManifestDetails();
        }
コード例 #7
0
        private void HandleNodeMenuClick(string clickedNode, string op, object tag)
        {
            if (op.Equals("add"))
            {
                UserControl ctrl = null;
                pnlPropertiesContainer.Controls.Clear();
                switch (clickedNode)
                {
                case "property":
                    ctrl = new PropertyControl(this, null, ParentControl.ControlDetails);
                    break;

                case "type-group":
                    ctrl = new TypeGroupControl(this, null, ParentControl.ControlDetails);
                    break;

                case "type":
                    ctrl = new TypeControl(this, null, ParentControl.ControlDetails, tag);
                    break;

                default:
                    break;
                }
                if (ctrl != null)
                {
                    pnlPropertiesContainer.Controls.Add(ctrl);
                    InformProjectNeedsBuild();
                    ctrl.BringToFront();
                }
            }
            else if (op.Equals("delete"))
            {
                contextMenuNode.Hide();
                string mboxCaption = "Confirm Delete";
                Dictionary <string, string> details        = (Dictionary <string, string>)tag;
                ControlManifestHelper       manifestHelper = new ControlManifestHelper();
                string mboxMessage = string.Empty;

                switch (clickedNode)
                {
                case "property":
                    if (MessageBox.Show("Are you sure you want to remove this property?", mboxCaption, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        manifestHelper.DeleteProperty(ParentControl.ControlDetails, details["Name"]);
                    }
                    break;

                case "type-group":
                    int refCount = manifestHelper.RetrieveTypeGroupReferenceCount(ParentControl.ControlDetails, details["Name"]);
                    mboxMessage = string.Empty;
                    if (refCount > 0)
                    {
                        mboxMessage = $"There {(refCount == 1 ? "is" : "are")} {refCount} reference{(refCount == 1 ? "" : "s")} for this TypeGroup. Do you still want to remove this TypeGroup?\n" +
                                      $"Removing this TypeGroup will cause build errors. Recommendation is to select 'No' and fix the references then remove the TypeGroup.";
                    }
                    else
                    {
                        mboxMessage = "Are you sure you want to remove this type group?";
                    }

                    if (MessageBox.Show(mboxMessage, mboxCaption, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        manifestHelper.DeleteTypeGroup(ParentControl.ControlDetails, details["Name"]);
                    }
                    break;

                case "type":
                    int typeCount = manifestHelper.RetrieveTypeInTypeGroupCount(ParentControl.ControlDetails, details["type-groups"]);
                    mboxMessage = string.Empty;
                    if (typeCount == 1)
                    {
                        mboxMessage = $"You are attempting to delete the last type in {details["type-groups"]} TypeGroup. Atleast one type is required in the TypeGroup. " +
                                      $"\nDo you still want to proceed?";
                    }
                    else
                    {
                        mboxMessage = "Are you sure you want to remove this type?";
                    }

                    if (MessageBox.Show(mboxMessage, mboxCaption, MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        manifestHelper.DeleteTypeInTypeGroup(ParentControl.ControlDetails, details["type-groups"], details["type"]);
                    }
                    break;

                default:
                    break;
                }
                RefreshControlManifestDetails();
            }
        }