public TaxonomyForm() { InitializeComponent(); currTaxonomyTransformation = null; taxonomyAssociations = new List<TaxonomyAssociation>(); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label1, level2Label = label4 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label1, level2Label = label5 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label1, level2Label = label6 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label1, level2Label = label7 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label2, level2Label = label8 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label2, level2Label = label9 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label2, level2Label = label10 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label3, level2Label = label11 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label3, level2Label = label12 }); taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label3, level2Label = label13 }); }
private void addParentButton_Click(object sender, EventArgs e) { resetLabelBackColors(); currTaxonomyTransformation = new TaxonomyTransformation { isAddition = true, level1Label = null, level2Label = null }; }
private void onLevel1LabelClicked(Label label) { if (currTaxonomyTransformation == null || currTaxonomyTransformation.level2Label == null) { return; } if (currTaxonomyTransformation.isAddition) { if (!isParent(label, currTaxonomyTransformation.level2Label)) { taxonomyAssociations.Add(new TaxonomyAssociation { level1Label = label, level2Label = currTaxonomyTransformation.level2Label }); } } else { int indexToRemove = -1; int associationsCount = taxonomyAssociations.Count; for(int i = 0; i < associationsCount; ++i) { TaxonomyAssociation currAssociation = taxonomyAssociations[i]; if(currAssociation.level1Label == label && currAssociation.level2Label == currTaxonomyTransformation.level2Label) { indexToRemove = i; break; } } if(indexToRemove != -1) { taxonomyAssociations.RemoveAt(indexToRemove); } } currTaxonomyTransformation = null; resetLabelBackColors(); Invalidate(); Update(); }