示例#1
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
 /// <summary>
 /// 框选目标
 /// </summary>
 public void Select()
 {
     ReleaseTool();
     currentTool = new SelectElementEx(gmapControl, mapLogic);
     currentTool.CommondExecutedEvent += CommondExecutedEvent;
     currentTool.RunCommond();
 }
示例#2
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
        /// <summary>
        /// 测量
        /// </summary>
        /// <param name="measureType">测量类型,有距离、面积和方位角</param>
        public void Measure(MeasureTypeEnum measureType)
        {
            ReleaseTool();   // 执行命令前,先释放上一次的工具命令

            switch (measureType)
            {
            case MeasureTypeEnum.Distance:
                currentTool = new MeasureDistance(gmapControl);
                break;

            case MeasureTypeEnum.Area:
                currentTool = new MeasureArea(gmapControl);
                break;

            case MeasureTypeEnum.Angle:
                currentTool = new MeasureAngle(gmapControl);
                break;

            default:
                break;
            }

            if (currentTool != null)
            {
                currentTool.CommondExecutedEvent += CommondExecutedEvent;
                currentTool.RunCommond();
            }
        }
示例#3
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
 /// <summary>
 /// 重置工具
 /// </summary>
 public void ReleaseTool()
 {
     if (currentTool != null)
     {
         currentTool.ReleaseCommond();
         currentTool.CommondExecutedEvent -= currentTool_CommondExecutedEvent;
         currentTool.Dispose();
         currentTool = null;
     }
 }
示例#4
0
 /// <summary>
 /// 选择图元
 /// </summary>
 public void Select()
 {
     ReleaseTool();
     currentTool = new SelectElements(mapControl);
     if (currentTool != null)
     {
         currentTool.RunCommond();//执行命令
         currentTool.CommondExecutedEvent += new EventHandler <Core.Model.MessageEventArgs>(currentTool_CommondExecutedEvent);
     }
 }
示例#5
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
 /// <summary>
 /// 释放工具
 /// </summary>
 public void ReleaseTool()
 {
     if (currentTool != null)
     {
         mapControl.setMgsEditFlag(0);
         currentTool.ReleaseCommond();
         currentTool.CommondExecutedEvent -= CommondExecutedEvent;
         currentTool.Dispose();
         currentTool = null;
     }
 }
示例#6
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
        /// <summary>
        /// 编辑图元
        /// </summary>
        /// <param name="element">图元</param>
        public void EditElement(Core.Interface.IMFElement element)
        {
            ReleaseTool();
            switch (element.ElementType)
            {
            case Core.Model.ElementTypeEnum.Point:
                currentTool = new EditPoint(mapControl, element);
                break;
            }

            if (currentTool != null)
            {
                currentTool.CommondExecutedEvent += CommondExecutedEvent;
                currentTool.RunCommond();
            }
        }
示例#7
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
        /// <summary>
        /// 画图形
        /// </summary>
        /// <param name="type">图形类型</param>
        public void DrawGraphic(ElementTypeEnum type)
        {
            ReleaseTool();

            switch (type)
            {
            case Core.Model.ElementTypeEnum.Model3D:
                break;

            case Core.Model.ElementTypeEnum.Point:
                currentTool = new DrawPoint(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Line:
                currentTool = new DrawLine(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Polygon:
                currentTool = new DrawPolygon(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Circle:
                currentTool = new DrawCircle(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Picture:
                break;

            case Core.Model.ElementTypeEnum.Rectangle:
                currentTool = new DrawRectangle(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Text:
                currentTool = new DrawText(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Other:
                break;
            }
            if (currentTool != null)
            {
                (currentTool as IMFDraw).MapLogic = mapLogic;
                currentTool.CommondExecutedEvent += currentTool_CommondExecutedEvent;
                currentTool.RunCommond();
            }
        }
示例#8
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
        /// <summary>
        /// 选择
        /// </summary>
        public void Select()
        {
            if (currentTool != null)
            {
                currentTool.ReleaseCommond();//重置工具
            }
            string curPath = "";

            if (System.IO.File.Exists(curPath))//加载鼠标样式
            {
                mapControl.loadMouseCur(curPath);
            }
            currentTool = new SelectElement(mapControl, mapLogic);
            if (currentTool != null)
            {
                currentTool.RunCommond();
                currentTool.CommondExecutedEvent += this.CommondExecutedEvent;//注册命令完成事件
            }
        }
示例#9
0
        public void DrawGraphic(Core.Model.ElementTypeEnum type)
        {
            ReleaseTool();//释放之前的工具
            switch (type)
            {
            case Core.Model.ElementTypeEnum.Point:    //绘制点

                break;

            case Core.Model.ElementTypeEnum.Line:    //绘制线
                currentTool = new DrawLine(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Polygon:    //绘制面
                currentTool = new DrawPolygon(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Rectangle:    //绘制矩形
                currentTool = new DrawRectangle(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Circle:    //绘制圆
                currentTool = new DrawCircle(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Text:    //绘制文字
                currentTool = new DrawText(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Other:    //绘制其他

                break;
            }

            if (currentTool != null)
            {
                (currentTool as MapFrame.Core.Interface.IMFDraw).MapLogic = mapLogic;
                currentTool.CommondExecutedEvent += new EventHandler <Core.Model.MessageEventArgs>(currentTool_CommondExecutedEvent);
                currentTool.RunCommond();//执行命令
            }
        }
示例#10
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
        /// <summary>
        /// 编辑图元
        /// </summary>
        /// <param name="element">图元</param>
        public void EditElement(Core.Interface.IMFElement element)
        {
            switch (element.ElementType)
            {
            case Core.Model.ElementTypeEnum.Circle:    //圆
                break;

            case Core.Model.ElementTypeEnum.Line:    //线
                break;

            case Core.Model.ElementTypeEnum.Model3D:    //模型
                break;

            case Core.Model.ElementTypeEnum.Other:    //其他
                break;

            case Core.Model.ElementTypeEnum.Picture:    //图片
                break;

            case Core.Model.ElementTypeEnum.Point:    //点
                break;

            case Core.Model.ElementTypeEnum.Polygon:    //面
                currentTool = new DrawPolygon(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Rectangle:    //正方形
                break;

            case Core.Model.ElementTypeEnum.Text:    //文字
                break;
            }
            if (currentTool != null)
            {
                currentTool.RunCommond();
                currentTool.CommondExecutedEvent += currentTool_CommondExecutedEvent;
            }
        }
示例#11
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
        /// <summary>
        /// 绘制图形
        /// </summary>
        /// <param name="type">图形类型</param>
        public void DrawGraphic(Core.Model.ElementTypeEnum type)
        {
            this.ReleaseTool();//重置工具
            switch (type)
            {
            case Core.Model.ElementTypeEnum.Point:    //点
                break;

            case Core.Model.ElementTypeEnum.Line:    //线
                currentTool = new DrawLine(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Polygon:    //多边形
                currentTool = new DrawPolygon(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Rectangle:    //矩形
                currentTool = new DrawRectangle(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Circle:    //圆
                currentTool = new DrawCircle(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Text:    //文字
                currentTool = new DrawText(mapControl);
                break;

            case Core.Model.ElementTypeEnum.Other:    //其他
                break;
            }
            if (currentTool != null)
            {
                (currentTool as IMFDraw).MapLogic = mapLogic;
                currentTool.CommondExecutedEvent += new EventHandler <Core.Model.MessageEventArgs>(currentTool_CommondExecutedEvent);
                currentTool.RunCommond();
            }
        }
示例#12
0
        public void EditElement(MapFrame.Core.Interface.IMFElement element)
        {
            //释放之前的工具
            ReleaseTool();

            switch (element.ElementType)
            {
            case MapFrame.Core.Model.ElementTypeEnum.Point:    //编辑点
                currentTool = new EditPoint(mapControl, element);
                break;

            case MapFrame.Core.Model.ElementTypeEnum.Line:    //编辑线
                currentTool = new EditLine(mapControl, element);
                break;

            case MapFrame.Core.Model.ElementTypeEnum.Polygon:    //编辑多边形
                currentTool = new EditPolygon(mapControl, element);
                break;

            case MapFrame.Core.Model.ElementTypeEnum.Circle:    //编辑圆
                currentTool = new EditCircle(mapControl, element);
                break;

            case MapFrame.Core.Model.ElementTypeEnum.Text:    //编辑文字
                currentTool = new EditText(mapControl, element);
                break;

            case MapFrame.Core.Model.ElementTypeEnum.Other:
                break;
            }

            if (currentTool != null)
            {
                currentTool.RunCommond();//执行命令
                (currentTool as MapFrame.Core.Interface.IMFDraw).MapLogic = mapLogic;
                currentTool.CommondExecutedEvent += new EventHandler <Core.Model.MessageEventArgs>(currentTool_CommondExecutedEvent);
            }
        }
示例#13
0
        /// <summary>
        /// 测量
        /// </summary>
        /// <param name="measureType">测量的类型</param>
        public void Measure(Core.Model.MeasureTypeEnum measureType)
        {
            ReleaseTool();
            switch (measureType)
            {
            case Core.Model.MeasureTypeEnum.Angle:
                currentTool = new MeasureAngle(mapControl);
                break;

            case Core.Model.MeasureTypeEnum.Area:
                currentTool = new Measure(mapControl, mapLogic, "area");
                break;

            case Core.Model.MeasureTypeEnum.Distance:
                currentTool = new Measure(mapControl, mapLogic, "distance");
                break;
            }
            currentTool.RunCommond();
            if (currentTool != null)
            {
                currentTool.CommondExecutedEvent += new EventHandler <Core.Model.MessageEventArgs>(currentTool_CommondExecutedEvent);
            }
        }
示例#14
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
        /// <summary>
        /// 绘制图元
        /// </summary>
        /// <param name="type">图元类型</param>
        public void DrawGraphic(ElementTypeEnum type)
        {
            ReleaseTool();//释放之前的工具

            switch (type)
            {
            case ElementTypeEnum.Line:    //画线
                currentTool = new DrawLine(gmapControl);
                break;

            case ElementTypeEnum.Polygon:    //画多边形
                currentTool = new DrawPolygon(gmapControl);
                break;

            case ElementTypeEnum.Rectangle:    //画矩形
                currentTool = new DrawRectangle(gmapControl);
                break;

            case ElementTypeEnum.Circle:    //画圆
                currentTool = new DrawCircle(gmapControl);
                break;

            case ElementTypeEnum.Text:    //文字
                currentTool = new DrawText(gmapControl);
                break;

            case ElementTypeEnum.Other:    //其他
                break;
            }

            if (currentTool != null)
            {
                (currentTool as IMFDraw).MapLogic = mapLogic;
                currentTool.CommondExecutedEvent += CommondExecutedEvent;
                currentTool.RunCommond();//执行命令
            }
        }
示例#15
0
文件: ToolBox.cs 项目: AnuoF/MapFrame
        /// <summary>
        /// 编辑图元
        /// </summary>
        /// <param name="element">图元</param>
        public void EditElement(IMFElement element)
        {
            //释放之前的工具
            ReleaseTool();

            switch (element.ElementType)
            {
            case ElementTypeEnum.Point:    //编辑点
                currentTool = new EditPoint(gmapControl, element);
                break;

            case ElementTypeEnum.Line:    //编辑线
                currentTool = new EditLine(gmapControl, element);
                break;

            case ElementTypeEnum.Polygon:    //编辑多边形
                currentTool = new EditPolygon(gmapControl, element);
                break;

            case ElementTypeEnum.Circle:    //编辑圆
                currentTool = new EditCircleEx(gmapControl, element);
                break;

            case ElementTypeEnum.Text:    //编辑文字
                currentTool = new EditText(gmapControl, element);
                break;

            case ElementTypeEnum.Other:
                break;
            }

            if (currentTool != null)
            {
                currentTool.CommondExecutedEvent += this.CommondExecutedEvent;
                currentTool.RunCommond();//执行命令
            }
        }