Esempio n. 1
0
        public static void SetBallons(GSOBalloon featureTooltip, GSOBalloonEx balloonEx)
        {
            featureTooltip.CacheFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "/GeoScene/Globe/Temp";

            featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 0);
            featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 0);
            featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3);
            featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_MARGIN, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CX, 1);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CY, -1);
            featureTooltip.SetDirection(EnumToolTipDirection.TD_BOTTOMEDGE_LEFT);

            featureTooltip.EscapeSequencesEnabled = true;
            featureTooltip.HyperlinkEnabled       = true;
            featureTooltip.Opaque   = 30;
            featureTooltip.MaxWidth = 300;
            featureTooltip.SetShadow(0, 0, 50, true, 0, 0);

            balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CX, 500);
            balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CY, 300);
            balloonEx.Opaque = 5;
            balloonEx.SetBorder(Color.White, 1, 1);
            balloonEx.SetColorBkType(EnumBkColorTypeEx.SKY);
        }
Esempio n. 2
0
        private void CtrlFeatureAttribute_Load(object sender, EventArgs e)
        {
            if (m_Feature != null)
            {
                // 属性信息相关
                m_Ballonex = new GSOBalloonEx(this.Handle);
                GSOBalloonParam param = m_Ballonex.ParseParam(m_Feature.Description);
                textBoxAttribute.Text = param.Content;
                switch (param.ShowMode)
                {
                case EnumShowModeEx.BALLOONEX:
                    cbbShowMode.SelectedIndex = 0;
                    break;

                case EnumShowModeEx.BALLOON:
                    cbbShowMode.SelectedIndex = 1;
                    break;

                case EnumShowModeEx.EXPLORER:
                    cbbShowMode.SelectedIndex = 2;
                    break;

                default:
                    cbbShowMode.SelectedIndex = 0;
                    break;
                }
                switch (param.ContentType)
                {
                case EnumContentTypeEx.TEXT:
                    cbbContentType.SelectedIndex = 0;
                    break;

                case EnumContentTypeEx.LINK:
                    cbbContentType.SelectedIndex = 1;
                    break;

                default:
                    cbbContentType.SelectedIndex = 0;
                    break;
                }

                tbbWidth.Text  = param.GetSize(EnumSizeIndexEx.CONTENT_CX).ToString();
                tbbHeight.Text = param.GetSize(EnumSizeIndexEx.CONTENT_CY).ToString();
            }

            CheckBallonSetingEnable();
        }
Esempio n. 3
0
        private void CtrlFeatureAttribute_Load(object sender, EventArgs e)
        {
            if (m_Feature!=null)
            {
                // 属性信息相关
                m_Ballonex = new GSOBalloonEx(this.Handle);
                GSOBalloonParam param = m_Ballonex.ParseParam(m_Feature.Description);
                textBoxAttribute.Text = param.Content;
                switch (param.ShowMode)
                {
                    case EnumShowModeEx.BALLOONEX:
                        cbbShowMode.SelectedIndex = 0;
                        break;
                    case EnumShowModeEx.BALLOON:
                        cbbShowMode.SelectedIndex = 1;
                        break;
                    case EnumShowModeEx.EXPLORER:
                        cbbShowMode.SelectedIndex = 2;
                        break;
                    default:
                        cbbShowMode.SelectedIndex = 0;
                        break;

                }
                switch (param.ContentType)
                {
                    case EnumContentTypeEx.TEXT:
                        cbbContentType.SelectedIndex = 0;
                        break;
                    case EnumContentTypeEx.LINK:
                        cbbContentType.SelectedIndex = 1;
                        break;
                    default:
                        cbbContentType.SelectedIndex = 0;
                        break;
                }

                tbbWidth.Text = param.GetSize(EnumSizeIndexEx.CONTENT_CX).ToString();
                tbbHeight.Text = param.GetSize(EnumSizeIndexEx.CONTENT_CY).ToString();
            }

            CheckBallonSetingEnable();
        }
Esempio n. 4
0
        public static void SetBallons(GSOBalloon featureTooltip,GSOBalloonEx balloonEx)
        {
            featureTooltip.CacheFilePath = Path.GetDirectoryName(Application.ExecutablePath) + "/GeoScene/Globe/Temp";

            featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 0);
            featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 0);
            featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3);
            featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_MARGIN, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CX, 1);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CY, -1);
            featureTooltip.SetDirection(EnumToolTipDirection.TD_BOTTOMEDGE_LEFT);

            featureTooltip.EscapeSequencesEnabled = true;
            featureTooltip.HyperlinkEnabled = true;
            featureTooltip.Opaque = 30;
            featureTooltip.MaxWidth = 300;
            featureTooltip.SetShadow(0, 0, 50, true, 0, 0);

            balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CX, 500);
            balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CY, 300);
            balloonEx.Opaque = 5;
            balloonEx.SetBorder(Color.White, 1, 1);
            balloonEx.SetColorBkType(EnumBkColorTypeEx.SKY);
        }
Esempio n. 5
0
        public Form1()
        {
            InitializeComponent();

            globeControl1 = new GSOGlobeControl();
            panel1.Controls.Add(globeControl1);
            globeControl1.Dock = DockStyle.Fill;

            //点击节点飞行到要素全貌
            treeView1.NodeMouseDoubleClick += (sender, e) =>
            {
                if (e.Node.Tag.GetType() == typeof(GSOFeature))
                {
                    GSOFeature feature = e.Node.Tag as GSOFeature;
                    if (feature.Geometry.CameraState == null)
                    {
                        GSORect2d latLonBounds = feature.Geometry.Bounds;
                        if ((latLonBounds.Left.Equals(0.0) == false) &&
                            (latLonBounds.Bottom.Equals(0.0) == false) &&
                            (latLonBounds.Top.Equals(0.0) == false) &&
                            (latLonBounds.Right.Equals(0.0) == false))
                        {
                            Utility.flyToLayerOrTerrain(globeControl1, latLonBounds);
                        }
                    }
                }
            };

            #region Balloon初始化

            featureTooltip = new GSOBalloon(globeControl1.Handle);             //实例化GSOBalloon对象
            featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 5);               // 设置边角的圆润度
            featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 5);               // 设置边角的圆润度
            featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3);                // 设置空白边缘宽度
            featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3);                // 设置空白边缘宽度
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 30);           // 设置GSOBalloon 锚的高度
            featureTooltip.EscapeSequencesEnabled = true;
            featureTooltip.HyperlinkEnabled       = true;                      // 设置是否可以点击GSOBalloon里面的超链接
            featureTooltip.Opaque   = 0;                                       // 透明度,取值范围是0~100,0为不透明,100为全透明
            featureTooltip.MaxWidth = 300;                                     // 最大宽度
            featureTooltip.SetBorder(Color.FromArgb(255, 255, 128, 64), 1, 1); // 边框
            featureTooltip.SetColorBkType(EnumBkColorType.SILVER);             //填充颜色
            // 也可以下面方法设置
            //featureTooltip.SetColorBk(Color.FromArgb(255, 255, 255, 255), Color.FromArgb(255,240, 247, 250), Color.FromArgb(255,192, 192, 200));
            featureTooltip.SetEffectBk(EnumBkEffect.VBUMP, 10); //渐变效果
            featureTooltip.SetShadow(0, 0, 50, true, 0, 0);     // 阴影
            //featureTooltip.CloseButtonVisible = true;  //显示关闭按钮

            //鼠标进入显示气泡
            globeControl1.FeatureMouseIntoEvent += (sender, e) =>
            {
                if (!featureTooltip.IsVisible())
                {
                    String str1 = "<table><tr><td valign=vcenter><center><h2> " + e.Feature.Name + "</h2><br><hr color=blue></center></td></tr></table>";
                    String str2 = e.Feature.Description;

                    // 显示GSOBalloon
                    featureTooltip.ShowBalloon((int)e.MousePos.X, (int)e.MousePos.Y, str1 + str2);
                }
            };

            //鼠标移出时隐藏气泡
            globeControl1.FeatureMouseOutEvent += (sender, e) =>
            {
                if (featureTooltip.IsVisible())
                {
                    globeControl1.SwapBuffer(); //为了避免闪屏
                    featureTooltip.HideBalloon();
                }
            };

            #endregion

            #region BalloonEx初始化

            balloonEx = new GSOBalloonEx(globeControl1.Handle);
            //点击要素显示
            globeControl1.FeatureMouseClickEvent += (sender, e) =>
            {
                GSOBalloonParam balloonParam = balloonEx.ParseParam(e.Feature.Description);
                balloonEx.ShowBalloonEx((int)e.MousePos.X, (int)e.MousePos.Y, balloonParam);
            };

            #endregion

            //移动视角时,隐藏气泡
            globeControl1.CameraBeginMoveEvent += (sender, args) =>
            {
                balloonEx.HideBalloon();
            };
        }
Esempio n. 6
0
 /// <summary>
 /// 气泡的参数设置
 /// </summary>
 /// <param name="featureTooltip"></param>
 /// <param name="infoBalloon"></param>
 /// <param name="balloonEx"></param>
 public static void SetBallons(GSOBalloon featureTooltip, GSOBalloon infoBalloon, GSOBalloonEx balloonEx)
 {
     if (featureTooltip != null)
     {
         featureTooltip.CacheFilePath = Application.StartupPath + "/GeoScene/Globe/Temp";
         featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 0);
         featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 0);
         featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3);
         featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3);
         featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 0);
         featureTooltip.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 0);
         featureTooltip.SetSize(EnumSizeIndex.ANCHOR_MARGIN, 0);
         featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CX, 1);
         featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CY, -1);
         featureTooltip.SetDirection(EnumToolTipDirection.TD_BOTTOMEDGE_LEFT);
         featureTooltip.EscapeSequencesEnabled = true;
         featureTooltip.HyperlinkEnabled       = true;
         featureTooltip.Opaque   = 30;
         featureTooltip.MaxWidth = 300;
         featureTooltip.SetShadow(0, 0, 50, true, 0, 0);
     }
     if (infoBalloon != null)
     {
         infoBalloon.SetColorBkType(EnumBkColorType.SILVER);
         infoBalloon.SetEffectBk(EnumBkEffect.HBUMP, 0);
         infoBalloon.SetBorder(Color.FromArgb(255, 171, 171, 171), 1, 1);
         infoBalloon.SetSize(EnumSizeIndex.ROUNDED_CX, 5);
         infoBalloon.SetSize(EnumSizeIndex.ROUNDED_CY, 5);
         infoBalloon.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 10);
         infoBalloon.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 10);
         infoBalloon.SetShadow(3, 3, 50, true, 0, 0);
         infoBalloon.MaxWidth           = 300;
         infoBalloon.CloseButtonVisible = true;
     }
     if (balloonEx != null)
     {
         balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CX, 500);
         balloonEx.SetSize(EnumSizeIndexEx.CONTENT_CY, 300);
         balloonEx.SetSize(EnumSizeIndexEx.ANCHOR_WIDTH, 10);
         balloonEx.Opaque = 5;
         balloonEx.SetBorder(Color.White, 1, 1);
         balloonEx.SetColorBkType(EnumBkColorTypeEx.SILVER);
         balloonEx.SetEffectBk(EnumBkEffectEx.OUTRANGE, 10);
         balloonEx.CacheFilePath = Application.StartupPath + "/GeoScene/Globe/Temp";
     }
 }
Esempio n. 7
0
        public MainFrm()
        {
            InitializeComponent();

            globeControl1 = new GeoScene.Globe.GSOGlobeControl();
            dataMananger1 = new GeoScene.Engine.GSODataManager();

            panelGlobeControl.Controls.Add(globeControl1);
            globeControl1.Dock = DockStyle.Fill;

            layerTree.ImageList = treeImageList;
            layerTree.Dock = DockStyle.Fill;

            controlContainerItem2.Control = panelFind;
            panelFind.Dock = DockStyle.Fill;

            treeFind.ImageList = treeImageList;

            featureTooltip = new GSOBalloon(globeControl1.Handle);
            featureTooltip.CacheFilePath = Application.StartupPath + "/GeoScene/Globe/Temp";
            featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CX, 0);
            featureTooltip.SetSize(EnumSizeIndex.ROUNDED_CY, 0);
            featureTooltip.SetSize(EnumSizeIndex.MARGIN_CX, 3);
            featureTooltip.SetSize(EnumSizeIndex.MARGIN_CY, 3);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_MARGIN, 0);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CX, 1);
            featureTooltip.SetSize(EnumSizeIndex.ANCHOR_OFFSET_CY, -1);
            featureTooltip.SetDirection(EnumToolTipDirection.TD_BOTTOMEDGE_LEFT);
            featureTooltip.EscapeSequencesEnabled = true;
            featureTooltip.HyperlinkEnabled = true;
            featureTooltip.Opaque = 30; //30;
            featureTooltip.MaxWidth = 300;
            featureTooltip.SetShadow(0, 0, 50, true, 0, 0);

            infoBalloon = new GSOBalloon(globeControl1.Handle);
            infoBalloon.SetColorBkType(EnumBkColorType.SILVER);
            infoBalloon.SetEffectBk(EnumBkEffect.HBUMP, 0);
            infoBalloon.SetBorder(Color.FromArgb(255, 171, 171, 171), 1, 1);
            infoBalloon.SetSize(EnumSizeIndex.ROUNDED_CX, 5);
            infoBalloon.SetSize(EnumSizeIndex.ROUNDED_CY, 5);
            infoBalloon.SetSize(EnumSizeIndex.ANCHOR_HEIGHT, 20);
            infoBalloon.SetSize(EnumSizeIndex.ANCHOR_WIDTH, 12);
            infoBalloon.SetShadow(3, 3, 50, true, 0, 0);
            infoBalloon.MaxWidth = 300;
            infoBalloon.CloseButtonVisible = true;

            balloonEx = new GSOBalloonEx(globeControl1.Handle);
            balloonEx.SetSize(EnumSizeIndexEx.ANCHOR_WIDTH, 30);
            balloonEx.SetColorBkType(EnumBkColorTypeEx.SILVER);
            balloonEx.SetEffectBk(EnumBkEffectEx.OUTRANGE, 10);
            balloonEx.CacheFilePath = Application.StartupPath + "/GeoScene/Globe/Temp";
        }