Exemple #1
0
        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 });
        }
Exemple #2
0
 private void addParentButton_Click(object sender, EventArgs e)
 {
     resetLabelBackColors();
     currTaxonomyTransformation = new TaxonomyTransformation { isAddition = true, level1Label = null, level2Label = null };
 }
Exemple #3
0
        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();
        }