Example #1
0
        /// <summary>
        /// 给当前的TabControl添加一页TagPage,并在其上设置一个控件
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="pageName"></param>
        /// <param name="elementList">控件所在的列表</param>
        /// <param name="InitDelegate">初始化控件的委托</param>
        /// <param name="delegateParam">委托使用的参数</param>
        protected void AddTabPage <T>(string pageName, List <T> elementList, InitElement <T> InitDelegate, object delegateParam)
            where T : System.Windows.Forms.Control, new()
        {
            //判断添加元素类型是否为指定类型
            if (typeof(T) != typeof(ListView) && typeof(T) != typeof(DataGridView))
            {
                MessageBox.Show("AddtabPage:指定的元素不在规定范围内.(规定:ListView,DataGridView)");
                return;
            }
            TabPage tp      = new TabPage();
            T       element = new T();

            this.tabControl1.SuspendLayout();
            this.tabControl1.Controls.Add(tp);
            tp.Controls.Add(element);

            //初始化该TabPage
            tp.Location = new System.Drawing.Point(4, 22);
            tp.Padding  = new System.Windows.Forms.Padding(0);
            tp.Size     = new System.Drawing.Size(608, 287);
            tp.Text     = pageName;
            tp.UseVisualStyleBackColor = true;

            //初始化TabPage的DataGridView
            InitDelegate(element, delegateParam);
            elementList.Add(element);

            this.tabControl1.ResumeLayout();
        }
Example #2
0
        /// <summary>
        /// Handles the AST node visit.
        /// </summary>
        /// <param name="astNode">AST node.</param>
        public override void Visit(EqualsOpInitElemAstNode astNode)
        {
            var numericFunction = MasterExporter.ToBasicNumericFunctionTerm(astNode.Term1);
            var numberAstNode   = astNode.Term2 as NumberTermAstNode;

            if (numericFunction != null && numberAstNode != null)
            {
                InitElementData = new EqualsNumericFunctionInitElement(numericFunction, numberAstNode.Number);
                return;
            }

            var objectFunction         = MasterExporter.ToBasicObjectFunctionTerm(astNode.Term1);
            var term2IdentifierAstNode = astNode.Term2 as IdentifierTermAstNode;

            if (objectFunction != null && term2IdentifierAstNode != null)
            {
                InitElementData = new EqualsObjectFunctionInitElement(objectFunction, MasterExporter.ToConstantTerm(term2IdentifierAstNode));
                return;
            }

            var term1IdentifierAstNode = astNode.Term1 as IdentifierTermAstNode;

            if (term1IdentifierAstNode != null && term2IdentifierAstNode != null)
            {
                InitElementData = new EqualsInitElement(MasterExporter.ToConstantTerm(astNode.Term1), MasterExporter.ToConstantTerm(astNode.Term2));
            }
        }
Example #3
0
        /// <summary>
        /// Handles the AST node visit.
        /// </summary>
        /// <param name="astNode">AST node.</param>
        public override void Visit(PredicateInitElemAstNode astNode)
        {
            var predicate = new PredicateInitElement(astNode.Name);

            astNode.Terms.ForEach(term => predicate.Terms.Add(new ConstantTerm(term)));
            InitElementData = predicate;
        }
Example #4
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(AtInitElemAstNode astNode)
 {
     InitElementData = new AtInitElement(astNode.Number, (LiteralInitElement)MasterExporter.ToInitElement(astNode.Argument));
 }
Example #5
0
 /// <summary>
 /// Handles the AST node visit.
 /// </summary>
 /// <param name="astNode">AST node.</param>
 public override void Visit(NotInitElemAstNode astNode)
 {
     InitElementData = new NotInitElement((AtomicFormulaInitElement)MasterExporter.ToInitElement(astNode.Argument));
 }