예제 #1
0
        private void AddNewTableButton_Click(object sender, EventArgs e)
        {
            List <string> classes = new List <string>();

            foreach (UserClassDefinition d in mUserClassDefinitions.mUserClasses)
            {
                classes.Add(d.Name);
            }
            PropertyList    list    = new PropertyList();
            NewTableOptions options = new NewTableOptions();

            list.AddMetaDataForProp("NewTableOptions", "UserClass", "SimpleEnumeration", classes.ToArray());
            list.SetTypeEditor("NewTableOptions", "UserClass", typeof(EnumeratedProperty));
            list.SelectedObject = options;
            if (ContentMessageBox.ShowMessage(this, list, "Create a new table") == DialogResult.OK)
            {
                foreach (UserClassDefinition d in mUserClassDefinitions.mUserClasses)
                {
                    if (options.UserClass == d.Name)
                    {
                        TableData table = new TableData(options.Name, d);
                        mTables.mTables.Add(table);
                        mCurrentTable  = table;
                        mCurrentSchema = d;
                        UpdateUI();
                        break;
                    }
                }
            }
            //TableData table = new TableData(
        }
예제 #2
0
        public void LoadFromTableXML(XmlElement rootNode)
        {
            //XmlAttribute name = rootNode.Attributes["Name"];
            mName = rootNode.GetAttribute("Name");
            string className = rootNode.GetAttribute("Type");

            mClass      = TriggerSystemMain.mTriggerDefinitions.GetUserClassDefinition(className);
            mNumColumns = mClass.Fields.Count;
            foreach (XmlElement row in rootNode.ChildNodes)
            {
                int      numColumns = row.ChildNodes.Count;//row.Attributes.Count;
                string[] columns    = new string[numColumns];
                for (int i = 0; i < numColumns; i++)
                {
                    //Attribute Version!!
                    //XmlAttribute col = row.Attributes[i];
                    //columns[i] = col.Value;

                    //Subnode Version!!
                    XmlElement e = row.ChildNodes[i] as XmlElement;
                    if (e != null)
                    {
                        columns[i] = e.InnerText;
                    }
                }
                mData.Add(columns);
            }
        }
예제 #3
0
        private void UserClassList_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            UserClassDefinition def = e.Node.Tag as UserClassDefinition;

            if (def != null)
            {
                SetCurrentClass(def);
            }
        }
예제 #4
0
        private void NewClassButton_Click(object sender, EventArgs e)
        {
            UserClassDefinition newUserClass = new UserClassDefinition();

            newUserClass.Name = "newclass";

            newUserClass.DBID = mUserClassDefinitions.mUserClasses.Count; //replace with dbid

            SetCurrentClass(newUserClass);
            mUserClassDefinitions.mUserClasses.Add(newUserClass);

            LoadUI();
        }
예제 #5
0
        private void TableListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (mbSuppressListEvents)
            {
                return;
            }

            mCurrentTable = TableListBox.SelectedItem as TableData;
            if (mCurrentTable != null)
            {
                mCurrentSchema = mCurrentTable.mClass;
            }
            UpdateUI();
        }
예제 #6
0
 public TableData(string name, UserClassDefinition userClass)
 {
     mNumColumns = userClass.Fields.Count;
     mName       = name;
     mClass      = userClass;
 }
예제 #7
0
        void SetCurrentClass(UserClassDefinition userclass)
        {
            this.ClassPropsGrid.SelectedObject = userclass;

            this.ClassFieldsList.ObjectList = userclass.Fields;
        }