Beispiel #1
0
        public RelationshipView(Control.ControlCollection collection, Essenishial one, Essenishial two, 
            ErRelationshipConnectType firsType, ErRelationshipConnectType secType,
            ErDiagram Diagram
            )
        {
            targetDiagram = Diagram;
            ErConnectEssencePair firstPair = new ErConnectEssencePair(one.Essence, firsType);
            ErConnectEssencePair secondPair = new ErConnectEssencePair(two.Essence, secType);
            targetRelationship = new ErRelationship(firstPair, secondPair);
            targetDiagram.AddRelationship(targetRelationship);

            oneEssenishial = one;
            twoEssenishial = two;
            one.OneOrTwoList.Add(1);
            two.OneOrTwoList.Add(2);
            OnePoint = one.GetCentralPoint();
            TwoPoint = two.GetCentralPoint();
            one.RelationshipViewList.Add(this);
            two.RelationshipViewList.Add(this);

            MiddlePoint = new Point((OnePoint.X + TwoPoint.X) / 2, (OnePoint.Y + TwoPoint.Y) / 2);
            containerOne = new ShapeContainer();
            OneToMiddleLine = new LineShape(OnePoint.X, OnePoint.Y, MiddlePoint.X, MiddlePoint.Y);
            OneToMiddleLine.DoubleClick += OpenRelationshipEditorWindow;
            OneToMiddleLine.BorderWidth = 3;
            OneToMiddleLine.BorderStyle = GetLineStyle(firsType.ModalType);
            MiddelToTwoLine = new LineShape(MiddlePoint.X, MiddlePoint.Y, TwoPoint.X, TwoPoint.Y);
            MiddelToTwoLine.BorderWidth = 3;
            MiddelToTwoLine.DoubleClick += OpenRelationshipEditorWindow;
            MiddelToTwoLine.BorderStyle = GetLineStyle(secType.ModalType);

            containerOne.Shapes.Add(OneToMiddleLine);
            containerOne.Shapes.Add(MiddelToTwoLine);
            //shape.
            collection.Add(containerOne);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex != comboBox2.SelectedIndex
                && !parentWinwoWindow.isContainRelationship(comboBox1.SelectedIndex, comboBox2.SelectedIndex))
            {
                try
                {
                    Essenishial one = parentWinwoWindow.EssenshialViews[comboBox1.SelectedIndex];
                    Essenishial two = parentWinwoWindow.EssenshialViews[comboBox2.SelectedIndex];

                    ErRelationshipConnectType oneConnectType = new ErRelationshipConnectType();
                    if (radioButton5.Checked)
                        oneConnectType.ModalType = ErRelationshipConnectType.ModalTypes.Can;
                    else
                        oneConnectType.ModalType = ErRelationshipConnectType.ModalTypes.Must;

                    ErRelationshipConnectType twoConnectType = new ErRelationshipConnectType();
                    if (radioButton1.Checked)
                        twoConnectType.ModalType = ErRelationshipConnectType.ModalTypes.Can;
                    else
                        twoConnectType.ModalType = ErRelationshipConnectType.ModalTypes.Must;

                    RelationshipView view = new RelationshipView(parentWinwoWindow.draw_panel1.Controls,
                        one, two, oneConnectType, twoConnectType, parentWinwoWindow._curentDiagram);
                    parentWinwoWindow.ErRelationshipViews.Add(view);
                    DialogResult = DialogResult.OK;
                    Close();
                }
                catch (ErDiagramNotCreateRelationshipExeption e1)
                {

                    MessageBox.Show("Сущности не имеют общих полей!");
                }

            }
        }
Beispiel #3
0
 DashStyle GetLineStyle(ErRelationshipConnectType.ModalTypes Type)
 {
     if (Type == ErRelationshipConnectType.ModalTypes.Must)
         return DashStyle.Solid;
     else
         return DashStyle.Dash;
 }