コード例 #1
0
 public void AddObject(ObjectSchema AObject)
 {
     if (FActiveRect.Contains(InternalAddObject(AObject)))
     {
         AddDesigner(AObject);
     }
 }
コード例 #2
0
        private void AddDesigner(ObjectSchema AObject)
        {
            ObjectDesigner LDesigner;

            if (AObject is TableSchema)
            {
                LDesigner = new TableDesigner(AObject, DesignerControl);
            }
            else if (AObject is ViewSchema)
            {
                LDesigner = new ViewDesigner(AObject, DesignerControl);
            }
            else if (AObject is OperatorSchema)
            {
                LDesigner = new OperatorDesigner(AObject, DesignerControl);
            }
            else
            {
                return;
            }
            try
            {
                FDesigners.Add(AObject, LDesigner);
                LDesigner.Disposed += new EventHandler(DesignerDisposed);
                Controls.Add(LDesigner);
            }
            catch
            {
                LDesigner.Dispose();
                throw;
            }
        }
コード例 #3
0
ファイル: TableDetail.cs プロジェクト: laszlo-kiss/Dataphor
        public TableDetail(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
        {
            Size       = new Size(300, 350);
            TextVAlign = VerticalAlignment.Top;

            // Get all columns
            TableSchema.ColumnSchemaEnumerator LColumns = BaseTableVar.GetColumns();
            while (LColumns.MoveNext())
            {
                AddColumnDesigner(LColumns.Current);
            }

            // Get all keys
            TableSchema.KeySchemaEnumerator LKeys = BaseTableVar.GetKeys();
            while (LKeys.MoveNext())
            {
                AddKeyDesigner(LKeys.Current);
            }

            // Get all Orders
            TableSchema.OrderSchemaEnumerator LOrders = BaseTableVar.GetOrders();
            while (LOrders.MoveNext())
            {
                AddOrderDesigner(LOrders.Current);
            }
        }
コード例 #4
0
 public ObjectDesigner(ObjectSchema AObject, DesignerControl ADesigner)
 {
     FObject             = AObject;
     FObject.OnModified += new SchemaHandler(ObjectModified);
     FObject.OnDeleted  += new SchemaHandler(ObjectDeleted);
     FDesignerPage       = ADesigner;
     UpdateFromObject();
     RoundRadius = 4f;
 }
コード例 #5
0
        private void RemoveDesigner(ObjectSchema AObject)
        {
            ObjectDesigner LDesigner = (ObjectDesigner)FDesigners[AObject];

            if (LDesigner != null)
            {
                Controls.Remove(LDesigner);
                FDesigners.Remove(AObject);
                LDesigner.Disposed -= new EventHandler(DesignerDisposed);
            }
        }
コード例 #6
0
        private void GetDragState(ref bool AIsDragTarget, ref Point ADragLocation, DragEventArgs AArgs)
        {
            ObjectDesignerData LData = AArgs.Data as ObjectDesignerData;

            if (LData != null)
            {
                ObjectSchema LObject = (ObjectSchema)FGrid
                                       [
                    ClientToGrid(PointToClient(new Point(AArgs.X, AArgs.Y)))
                                       ];
                if (LObject == null)
                {
                    ADragLocation = ClientToGrid(PointToClient(new Point(AArgs.X, AArgs.Y)));
                    AIsDragTarget = true;
                }
            }
        }
コード例 #7
0
        private Point InternalAddObject(ObjectSchema AObject)
        {
            // TODO: Better schema object placement (vacancy detection to the SparseGrid FindNearestVacancy(x,y))
            Point LPoint = Point.Empty;

            while (FGrid[LPoint] != null)
            {
                if (LPoint.Y > 5)
                {
                    LPoint.Y = 0;
                    LPoint.X++;
                }
                else
                {
                    LPoint.Y++;
                }
            }
            FGrid[LPoint]      = AObject;
            AObject.OnDeleted += new SchemaHandler(ObjectDeleted);
            return(LPoint);
        }
コード例 #8
0
ファイル: TableDesigner.cs プロジェクト: laszlo-kiss/Dataphor
 public TableVarDesigner(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
 {
 }
コード例 #9
0
 public ObjectDesignerData(ObjectSchema AObject)
 {
     FObject = AObject;
 }
コード例 #10
0
ファイル: DetailSurface.cs プロジェクト: laszlo-kiss/Dataphor
 public ObjectDetailSurface(ObjectSchema AObject, DesignerControl ADesigner) : base(ADesigner)
 {
     FObject             = AObject;
     FObject.OnModified += new SchemaHandler(SchemaModified);
     FObject.OnDeleted  += new SchemaHandler(SchemaDeleted);
 }
コード例 #11
0
 public OperatorDesigner(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
 {
     SurfaceColor = Color.FromArgb(246, 237, 237);
 }
コード例 #12
0
 public OperatorDetail(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
 {
     Size       = new Size(300, 350);
     TextVAlign = VerticalAlignment.Top;
 }
コード例 #13
0
 public OperatorDetailSurface(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
 {
     FDetail = new OperatorDetail(AObject, ADesigner);
     Controls.Add(FDetail);
 }
コード例 #14
0
ファイル: TableDesigner.cs プロジェクト: laszlo-kiss/Dataphor
 public ViewDesigner(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
 {
     SurfaceColor = Color.FromArgb(219, 230, 230);
 }
コード例 #15
0
ファイル: TableDetail.cs プロジェクト: laszlo-kiss/Dataphor
 public TableDetailSurface(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
 {
     AutoScroll = true;
     FDetail    = new TableDetail(AObject, ADesigner);
     Controls.Add(FDetail);
 }
コード例 #16
0
ファイル: ViewDetail.cs プロジェクト: laszlo-kiss/Dataphor
 public ViewDetailSurface(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
 {
 }
コード例 #17
0
ファイル: TableDesigner.cs プロジェクト: laszlo-kiss/Dataphor
 public TableDesigner(ObjectSchema AObject, DesignerControl ADesigner) : base(AObject, ADesigner)
 {
     SurfaceColor = Color.FromArgb(254, 233, 192);
 }
コード例 #18
0
 private void InternalRemoveObject(ObjectSchema AObject)
 {
     AObject.OnDeleted -= new SchemaHandler(ObjectDeleted);
     FGrid.Remove(AObject);
 }
コード例 #19
0
 public void RemoveObject(ObjectSchema AObject)
 {
     InternalRemoveObject(AObject);
     RemoveDesigner(AObject);
 }