Exemple #1
0
        private void buttonEdit_Click(object sender, EventArgs e)
        {
            if (checkedListBox.SelectedItem != null)
            {
                checkedListBox.SetItemChecked(checkedListBox.Items.IndexOf(checkedListBox.SelectedItem), false);
                checkedListBox.ClearSelected();
            }
            if (checkedListBoxComplex.SelectedItem != null)
            {
                checkedListBoxComplex.SetItemChecked(checkedListBoxComplex.Items.IndexOf(checkedListBoxComplex.SelectedItem), false);
                checkedListBoxComplex.ClearSelected();
            }
            string nameOfType = selectedShape.CurrentFigure.GetType().ToString();

            if (nameOfType.Contains("ComplexShape"))
            {
                ComplexShape       complexShape = (ComplexShape)selectedShape.CurrentFigure;
                CreateComplexShape factory      = new CreateComplexShape(complexShape.Shapes, complexShape.InitWidth, complexShape.InitHeight);
                fabric = factory;
            }
            else
            {
                nameOfType = nameOfType.Substring(nameOfType.LastIndexOf('.') + 1);
                MethodInfo factoryCreator = null;
                foreach (Type type in factoryTypesList)
                {
                    if (type.ToString().Contains(nameOfType))
                    {
                        factoryCreator = type.GetMethod("getInstance");
                        break;
                    }
                }
                fabric = (CreateShape)factoryCreator.Invoke(null, new object[] { });
            }

            shapeList.Remove(selectedShape);
            RedrawShapes();
            pen                    = new Pen(selectedShape.Color, selectedShape.Width);
            selectedShape          = null;
            textBoxPenWidth.Text   = pen.Width.ToString();
            buttonColor.ForeColor  = pen.Color;
            buttonEdit.Enabled     = false;
            buttonRelocate.Enabled = false;
        }
Exemple #2
0
        private void checkedListBoxComplex_Click(object sender, EventArgs e)
        {
            if (checkedListBox.SelectedItem != null)
            {
                checkedListBox.SetItemChecked(checkedListBox.Items.IndexOf(checkedListBox.SelectedItem), false);
                checkedListBox.ClearSelected();
            }

            for (int i = 0; i < checkedListBoxComplex.Items.Count; i++)
            {
                if (checkedListBoxComplex.Items[i] != checkedListBoxComplex.SelectedItem)
                {
                    checkedListBoxComplex.SetItemChecked(checkedListBoxComplex.Items.IndexOf(checkedListBoxComplex.Items[i]), false);
                }
            }

            string             numberOfFigure = checkedListBoxComplex.SelectedItem.ToString().Substring(6);
            ComplexShape       complexShape   = complexShapes[Convert.ToInt32(numberOfFigure) - 1];
            CreateComplexShape factory        = new CreateComplexShape(complexShape.Shapes, complexShape.InitWidth, complexShape.InitHeight);

            fabric = factory;
        }