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); }
void FullDiagramItemsContainDiagramItemsDiagramRelation(DiagramRelation DiagramRelation) { // TODO rename AddDiagramItemInFullDiagramItems AddDiagramItemInFullDiagramItems(DiagramRelation.Item1); AddDiagramItemInFullDiagramItems(DiagramRelation.Item2); }
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; }
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 { } }
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; }
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; }