// create TristateTreeView from XML file public void CreateTreeViewFromXmlFile(TriStateTreeView treeView) { FeatureModelConfiguration fmc = new FeatureModelConfiguration(this.fileName); rootFeature = fmc.GetFeatureModelConfigurationModel(); // Clear TriStateTreeView treeView.Nodes.Clear(); // treeView.BeginUpdate(); treeView.InitializeRootFeature(ref rootFeature); FeatureTreeNode rn = new FeatureTreeNode(); rn.Text = rootFeature.name; rn.InitializeRootFeature(ref rootFeature); //treeView.SetChecked(rn, TriStateTreeView.CheckState.Checked); treeView.SetChecked(rn, TriStateTreeView.CheckState.Greyed); treeView.Nodes.Add(rn); foreach (object o in rootFeature.Items) { if (o.GetType() == typeof(FeatureType)) { FeatureType ft = (FeatureType)o; FeatureTreeNode subRootNode = new FeatureTreeNode(); subRootNode.Text = ft.name; subRootNode.InitializeFeature(ref ft); if (ft.kind == KindType.Optional || ft.kind == KindType.FeatureSetFeature) { subRootNode.NodeFont = new System.Drawing.Font("Arial", 8, System.Drawing.FontStyle.Bold); } switch (ft.configuration) { case ConfigType.Included: if (ft.kind == KindType.Mandatory) { //treeView.SetChecked(subRootNode, TriStateTreeView.CheckState.Checked); treeView.SetChecked(subRootNode, TriStateTreeView.CheckState.Greyed); } else { treeView.SetChecked(subRootNode, TriStateTreeView.CheckState.Checked); } break; case ConfigType.Excluded: treeView.SetChecked(subRootNode, TriStateTreeView.CheckState.Unchecked); break; case ConfigType.Unspecified: treeView.SetChecked(subRootNode, TriStateTreeView.CheckState.QuestionMark); break; } rn.Nodes.Add(subRootNode); CreateTreeNode(subRootNode, ft, treeView); } else if (o.GetType() == typeof(FeatureSetType)) { FeatureSetType fst = (FeatureSetType)o; FeatureTreeNode subRootNode = new FeatureTreeNode(); subRootNode.Text = string.Format("FeatureSet [{0}...{1}]", fst.min, fst.max); treeView.SetChecked(subRootNode, TriStateTreeView.CheckState.FeatureSet); rn.Nodes.Add(subRootNode); CreateTreeNode(subRootNode, fst, treeView); } } treeView.ExpandAll(); treeView.EndUpdate(); }
public void InitializeRootFeature(ref RootFeatureType rf) { this.rootFeature = rf; }
public FeatureModel(string _fileName) { fileName = _fileName; valid = true; rootFeature = null; }
public void InitializeRootFeature(ref RootFeatureType _rootFeature) { this.rootFeature = _rootFeature; }