Ejemplo n.º 1
0
 public void Hide(TableVisual obj)
 {
     ZOrder.Remove(obj);
     if (obj is TableVisual)
     {
         Tables.Remove((obj as TableVisual).Table);
     }
 }
Ejemplo n.º 2
0
        public void Add(Table table, int incr = 0)
        {
            var tv = new TableVisual(this, table);

            tv.X = OffsetX + incr;
            tv.Y = OffsetY + incr;

            Tables.Add(table, tv);
            ZOrder.Add(tv);
        }
Ejemplo n.º 3
0
        public void AddRange(IEnumerable <Table> tables)
        {
            var i = 0;

            foreach (var t in tables)
            {
                var tv = new TableVisual(this, t, i);
                Tables.Add(t, tv);
                ZOrder.Add(tv);
                i++;
            }
        }
Ejemplo n.º 4
0
        public void AddRelated(TableVisual obj)
        {
            var tablesToAdd = new List <Table>();

            TableVisual tv;

            foreach (var r in obj.Table.UsedInRelationships)
            {
                var tgt = r.FromTable == obj.Table ? r.ToTable : r.FromTable;
                if (Tables.TryGetValue(tgt, out tv))
                {
                    tv.Selected = true;
                    ZOrder.Remove(tv);
                    ZOrder.Insert(0, tv);
                }
                else if (!tablesToAdd.Contains(tgt))
                {
                    tablesToAdd.Add(tgt);
                }
            }

            for (int i = 0; i < tablesToAdd.Count; i++)
            {
                tv = new TableVisual(this, tablesToAdd[i]);

                var angle = Math.PI * 2 * i / tablesToAdd.Count;
                var cos   = Math.Cos(angle) * (obj.W) * 1.8;
                var sin   = Math.Sin(angle) * (obj.H) * 1.8;

                tv.X        = obj.X + (obj.W / 2) + (int)cos - (tv.W / 2);
                tv.Y        = obj.Y + (obj.H / 2) + (int)sin - (tv.H / 2);
                tv.Selected = true;
                Tables.Add(tablesToAdd[i], tv);
                ZOrder.Insert(0, tv);
            }
            obj.Selected = false;
        }