示例#1
0
 public void makeRandomRelation(object sender, EventArgs e)
 {
     if (helper.DiagramItems.Count < 2) return;
        int first = DiagramConstant.Random.Next(0, helper.DiagramItems.Count);
        int second = DiagramConstant.Random.Next(0, helper.DiagramItems.Count);
        while (first == second) {
        second = DiagramConstant.Random.Next(0, helper.DiagramItems.Count);
        }
        DiagramRelation relation = new DiagramRelation();
        relation.Item1 = helper.DiagramItems[first];
        relation.Item2 = helper.DiagramItems[second];
        helper.DiagramRelations.Add(relation);
 }
示例#2
0
 void FullDiagramItemsContainDiagramItemsDiagramRelation(DiagramRelation DiagramRelation)
 {
     // TODO rename AddDiagramItemInFullDiagramItems
     AddDiagramItemInFullDiagramItems(DiagramRelation.Item1);
     AddDiagramItemInFullDiagramItems(DiagramRelation.Item2);
 }
示例#3
0
 DiagramRelation CreateDiagramRelation(string[] DiagramItemsData)
 {
     DiagramRelation DiagramRelation = new DiagramRelation();
     DiagramRelation.Item1 = factory.Create(owner, GetDiagramItemName(DiagramItemsData[0]));
     DiagramRelation.Item2 = factory.Create(owner, GetDiagramItemName(DiagramItemsData[1]));
     return DiagramRelation;
 }
示例#4
0
 private void makeRelation(object sender, EventArgs e)
 {
     try {
         DiagramRelation relation = new DiagramRelation();
         int id1 = Convert.ToInt32(item1IDTextEdit.Value);
         int id2 = Convert.ToInt32(item2IdTextEdit.Value);
         if (id1 < 0 || id2 < 0 || id1 == id2) return;
         relation.Item1 = helper.DiagramItems[id1];
         relation.Item2 = helper.DiagramItems[id2];
         helper.DiagramRelations.Add(relation);
     } catch { }
 }
示例#5
0
 private PointF GetPointByCountOfRelation(DiagramRelation relation1)
 {
     int item1RelationCount = DiagramRelations.Where(e => (e.Item1 == relation1.Item1 || e.Item2 == relation1.Item1)).Count();
     int item2RelationCount = DiagramRelations.Where(e => (e.Item1 == relation1.Item2 || e.Item2 == relation1.Item2)).Count();
     return item1RelationCount > item2RelationCount ? relation1.Item1.Location : relation1.Item2.Location;
 }
示例#6
0
        internal object XtraCreateDiagramRelationsItem(XtraItemEventArgs e)
        {
            DiagramRelation item = new DiagramRelation();
            XtraPropertyInfo infoType = e.Item.ChildProperties["Item1"];
            XtraPropertyInfo locationInfo = infoType.ChildProperties["Location"];
            PointF point1 = (PointF)locationInfo.ValueToObject(typeof(PointF));
            item.Item1 = DiagramItems.First(di => di.Location == point1);

            infoType = e.Item.ChildProperties["Item2"];
            locationInfo = infoType.ChildProperties["Location"];
            PointF point2 = (PointF)locationInfo.ValueToObject(typeof(PointF));
            item.Item2 = DiagramItems.First(di => di.Location == point2);

            DiagramRelations.Add(item);
            return item;
        }