示例#1
0
        private void trlCRTree_DeleteNode(object sender, EventArgs e)
        {
            object obj = trlCRTree.GetDataRecordByNode(trlCRTree.FocusedNode);

            if (XtraMessageBox.Show("Are you sure to delete node?", "Delete node", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                QChangeRequest cr = (QChangeRequest)obj;
                QChangeRequest.Delete(cr);
                if (cr.GetType() == typeof(QDocumentCR))
                {
                    trlCRTree.DataSource = null;
                }
            }
        }
示例#2
0
        private void ShowModifier_ItemClick <TModifier>(object sender, EventArgs e)
            where TModifier : QCRModifier, new()
        {
            object         Obj      = trlCRTree.GetDataRecordByNode(trlCRTree.FocusedNode);
            QChangeRequest cr       = (QChangeRequest)Obj;
            frmModifier    f        = new frmModifier();
            TModifier      modifier = new TModifier();

            modifier.ChangeRequest = cr;
            if (f.ShowDialog(modifier) == DialogResult.OK)
            {
                FocusNode(((QChangeRequest)Obj).Id);
                trlCRTree.ExpandAll();
            }
        }
示例#3
0
        private void bbAdd_Child_ItemClick <TChild>(object sender, EventArgs e)
            where TChild  : QChangeRequest, new()
        {
            object          Obj    = trlCRTree.GetDataRecordByNode(trlCRTree.FocusedNode);
            QChangeRequest  cr     = (QChangeRequest)Obj;
            frmObjectEditor f      = new frmObjectEditor();
            TChild          newObj = new TChild();

            newObj.Parent = (QChangeRequest)Obj;
            if (f.ShowAddDialog(newObj) == DialogResult.OK)
            {
                TChild child = (TChild)f.NewObj;
                cr.AddChild <TChild>(child);
                FocusNode(((QChangeRequest)child).Id);
            }
        }
示例#4
0
        private void trlCRTree_GetStateImage(object sender, DevExpress.XtraTreeList.GetStateImageEventArgs e)
        {
            object Obj = trlCRTree.GetDataRecordByNode(e.Node);

            if (Obj != null)
            {
                QChangeRequest cr = (QChangeRequest)Obj;
                switch (cr.CheckResultType)
                {
                case QCRCheckResultType.NotChecked:
                    e.NodeImageIndex = 0; break;

                case QCRCheckResultType.WellImplemented:
                    e.NodeImageIndex = 1; break;

                case QCRCheckResultType.NeedsAttention:
                    e.NodeImageIndex = 2; break;
                }
            }
        }
示例#5
0
        private void FocusedNodeChanged(TreeListNode node)
        {
            if (trlCRTree.FocusedNode != null)
            {
                string id = trlCRTree.FocusedNode.GetValue("Id").ToString();
                if (!string.IsNullOrEmpty(id))
                {
                    // get cr object
                    QChangeRequest obj = (QChangeRequest)trlCRTree.GetDataRecordByNode(node);
                    // refresh grid
                    propertyGridControl1.Rows.Clear();
                    propertyGridControl1.SelectedObject = null;
                    propertyGridControl1.SelectedObject = obj;
                    propertyGridControl1.Refresh();

                    // refresh actions
                    grdCRActions.DataSource = obj.Actions;
                }
            }
        }
示例#6
0
 private void LoadCriteria(QChangeRequest cr)
 {
     if (cr != null)
     {
         if (cr.GetType() == typeof(QAddCriterioCR))
         {
             QAddCriterioCR criterio = (QAddCriterioCR)cr;
             DataRow        row      = Criteria.NewRow();
             row["Checked"]         = criterio.CheckResultType == QCRCheckResultType.WellImplemented;
             row["Name"]            = criterio.Name;
             row["CriUniqueId"]     = criterio.CriUniqueId;
             row["CheckResultType"] = criterio.CheckResultType;
             row["DatabaseName"]    = criterio.DatabaseName;
             row["ObjCR"]           = criterio;
             Criteria.Rows.Add(row);
         }
         foreach (QChangeRequest child in cr.Children)
         {
             LoadCriteria(child);
         }
     }
 }
示例#7
0
        private void trlCRTree_PopupMenuShowing(object sender, DevExpress.XtraTreeList.PopupMenuShowingEventArgs e)
        {
            if (e.Menu is TreeListNodeMenu)
            {
                trlCRTree.FocusedNode = ((TreeListNodeMenu)e.Menu).Node;
                object         Obj   = trlCRTree.GetDataRecordByNode(trlCRTree.FocusedNode);
                QChangeRequest objCR = (QChangeRequest)Obj;

                foreach (Type crType in objCR.CompatibleChildren)
                {
                    e.Menu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Add " + crType.GetDescription(), addHandlers[crType]));
                }
                if (modifiers.ContainsKey(objCR.GetType()))
                {
                    e.Menu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem(string.Format("Run {0} modifier.", objCR.GetType().Name), modifiers[objCR.GetType()]));
                }
                e.Menu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Delete", trlCRTree_DeleteNode));
                if (objCR.GetType() == typeof(QAddCriterioCR))
                {
                    e.Menu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem(string.Format("Script Criterio"), trlCRTree_ScriptCriterio));
                }
            }
        }