示例#1
0
        public override void Execute()
        {
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            string fname = null;

            using (OpenFileDialog dlg = new OpenFileDialog())
            {
                dlg.Filter           = "专题图模版(*.gxt)|*.gxt";
                dlg.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory + "LayoutTemplate\\自定义";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    fname = dlg.FileName;
                }
            }
            ILayoutTemplate template = new LayoutTemplate(fname);

            if (viewer.LayoutHost == null)
            {
                return;
            }
            viewer.LayoutHost.ApplyTemplate(template);
            viewer.LayoutHost.Render();
        }
示例#2
0
 public override void Execute(string argument)
 {
     ISmartWindow[] wnds = _smartSession.SmartWindowManager.GetSmartWindows((wnd) => { return(wnd is ILayoutViewer); });
     if (wnds != null)
     {
         foreach (ISmartWindow wnd in wnds)
         {
             ILayoutViewer viewer = wnd as ILayoutViewer;
             if (viewer == null)
             {
                 continue;
             }
             if (viewer.LayoutHost == null)
             {
                 continue;
             }
             string defaultFname = string.Empty;
             if ((viewer as LayoutViewer).Tag != null)
             {
                 defaultFname = (viewer as LayoutViewer).Tag as string;
             }
             defaultFname = Path.Combine(Path.GetDirectoryName(defaultFname), Path.GetFileNameWithoutExtension(defaultFname) + ".jpg");
             ImageFormat imgFormat = ImageFormat.Jpeg;
             //
             using (Bitmap bmp = viewer.LayoutHost.ExportToBitmap(PixelFormat.Format32bppArgb))
             {
                 bmp.Save(defaultFname, imgFormat);
             }
         }
     }
     _smartSession.UIFrameworkHelper.SetVisible(argument, false);
     _smartSession.UIFrameworkHelper.SetLockBesideX(argument, false);
 }
示例#3
0
        private void AddElementCustom()
        {
            if (_session.SmartWindowManager.ActiveCanvasViewer == null)
            {
                return;
            }
            ILayoutViewer viewer = _session.SmartWindowManager.ActiveCanvasViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            ILayoutHost host = viewer.LayoutHost;

            if (host == null)
            {
                return;
            }
            ILayoutRuntime runtime = host.LayoutRuntime;

            if (runtime == null)
            {
                return;
            }
            IElement[] eles = runtime.Selection;
            if (eles == null || eles.Length == 0)
            {
                return;
            }
            if (_eleList == null)
            {
                return;
            }
            _eleList.CustomElements = eles;
        }
示例#4
0
 private void ViewIsChanged(object sender, ISmartWindow oldV, ISmartWindow newV)
 {
     if (newV == null)
     {
         (this.Controls[0] as UCLayerManagerPanel).Apply(null);
         return;
     }
     if (newV is ICanvasViewer)
     {
         ICanvasViewer v = newV as ICanvasViewer;
         if (v == null)
         {
             return;
         }
         IVectorHostLayer host = v.Canvas.LayerContainer.VectorHost;
         if (host == null)
         {
             return;
         }
         (this.Controls[0] as UCLayerManagerPanel).Apply(v.LayerProvider as ILayersProvider);
     }
     else if (newV is ILayoutViewer)
     {
         ILayoutViewer v = newV as ILayoutViewer;
         if (v == null)
         {
             return;
         }
         (this.Controls[0] as UCLayerManagerPanel).Apply(v.LayerProvider as ILayersProvider);
     }
 }
示例#5
0
        public override void Execute()
        {
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            ILayoutHost host = viewer.LayoutHost;

            if (host == null)
            {
                return;
            }
            ILayoutTemplate template = host.Template;

            if (template == null || string.IsNullOrEmpty(template.FullPath))
            {
                _smartSession.CommandEnvironment.Get(6006).Execute();
            }
            else
            {
                template.SaveTo(template.FullPath);
                using (System.Drawing.Bitmap bm = viewer.LayoutHost.ExportToBitmap(PixelFormat.Format32bppArgb, new System.Drawing.Size(165, 165)))
                {
                    bm.Save(template.FullPath.ToLower().Replace(".gxt", ".png"), ImageFormat.Png);
                }
            }
        }
示例#6
0
        public void AddDataToLayoutViewer(ILayoutViewer viewer, string fname, params object[] options)
        {
            if (viewer == null)
            {
                return;
            }
            IDataFrame df = viewer.LayoutHost.ActiveDataFrame;

            if (df == null)
            {
                return;
            }
            IDataFrameDataProvider provider = df.Provider as IDataFrameDataProvider;

            if (provider == null)
            {
                return;
            }
            ICanvas canvas = provider.Canvas;

            if (canvas == null)
            {
                return;
            }
            RasterLayerBuilder.CreateAndLoadRasterLayer(_session, canvas, fname, options);
            viewer.LayoutHost.Render();
        }
示例#7
0
        public override void Execute(string argument)
        {
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            if (string.IsNullOrEmpty(argument))
            {
                return;
            }
            ILayoutHost host = viewer.LayoutHost;

            if (host == null)
            {
                return;
            }
            if (host.ActiveDataFrame == null)
            {
                return;
            }
            float scale = float.Parse(argument);

            if (scale <= 0)
            {
                return;
            }
            host.ActiveDataFrame.LayoutScale = scale;
            viewer.LayoutHost.Render(true);
        }
示例#8
0
        public override void Execute(string argument)
        {
            if (String.IsNullOrEmpty(argument))
            {
                return;
            }
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            float angle;
            bool  ok = float.TryParse(argument, out angle);

            if (!ok)
            {
                return;
            }
            ILayoutHost host = viewer.LayoutHost;

            if (host == null)
            {
                return;
            }
            Rotate90(host.LayoutRuntime, angle);
            host.Render();
        }
示例#9
0
        public override void Execute()
        {
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            if (viewer.LayoutHost == null)
            {
                return;
            }
            ILayoutRuntime runTime = viewer.LayoutHost.LayoutRuntime;

            if (runTime == null)
            {
                return;
            }
            IElement[] elements = runTime.Selection;
            if (elements == null || elements.Length == 0)
            {
                return;
            }
            TryRefreshLayerManager();
        }
 private void GetItems(ILayoutViewer viewer)
 {
     foreach (IElement it in viewer.LayoutHost.LayoutRuntime.Layout.Elements)
     {
         ILayerItem item = GetLayerItemLayout(it);
         Items.Add(item);
     }
 }
示例#11
0
        private void AnsynRefreshData(ILayoutViewer viewer)
        {
            ICommand cmd = _session.CommandEnvironment.Get(6032);//refresh data

            if (cmd != null)
            {
                cmd.Execute();
            }
        }
示例#12
0
        public override void Execute()
        {
            ILayoutViewer host = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (host != null)
            {
                host.LayoutHost.ToSuitedSize();
            }
        }
示例#13
0
        public override void Execute()
        {
            ILayoutViewer host = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (host != null)
            {
                host.LayoutHost.CurrentTool = new ArrowTool();
                host.LayoutHost.Render();
            }
        }
示例#14
0
        public override void Execute()
        {
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            viewer.LayoutHost.Group();
            viewer.LayoutHost.Render();
        }
示例#15
0
        public override void Execute(string argument)
        {
            ILayoutViewer host = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (host != null)
            {
                argument = argument.Split('%')[0];
                host.LayoutHost.LayoutRuntime.Scale = float.Parse(argument) / 100f;
                host.LayoutHost.Render();
            }
        }
        public override void Execute()
        {
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            viewer.LayoutHost.Aligment(RSS.Layout.enumElementAligment.Bottom);
            viewer.LayoutHost.Render();
        }
示例#17
0
        public override void Execute()
        {
            ILayoutViewer view = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (view == null)
            {
                return;
            }
            ILayoutHost host = view.LayoutHost;

            if (host == null)
            {
                return;
            }
            if (host.LayoutRuntime == null)
            {
                return;
            }
            if (host.LayoutRuntime.Layout == null)
            {
                return;
            }
            if (host.LayoutRuntime.Layout.Elements == null || host.LayoutRuntime.Layout.Elements.Count == 0)
            {
                return;
            }
            IDataFrame             df       = new DataFrame(host);
            IDataFrameDataProvider provider = df.Provider as IDataFrameDataProvider;

            if (provider == null)
            {
                return;
            }
            ICanvas c = provider.Canvas;

            if (c != null)
            {
                if (c.CanvasSetting != null)
                {
                    if (c.CanvasSetting.RenderSetting != null)
                    {
                        c.CanvasSetting.RenderSetting.BackColor = Color.White;
                    }
                }
                IVectorHostLayer vhost = new VectorHostLayer(null);
                c.LayerContainer.Layers.Add(vhost as GeoDo.RSS.Core.DrawEngine.ILayer);
            }
            host.LayoutRuntime.Layout.Elements.Insert(1, df);
            host.Render();
            host.ActiveDataFrame = df;
            TryRefreshLayerManager();
        }
示例#18
0
        /// <summary>
        /// 导出图片重载方法-支持是否PNG-BMP 以后如需要根据传递文件类型进行导出图片,修改此方法
        /// </summary>
        /// <param name="IsPng">是否是png文件</param>
        public override void Execute(string argument, params string[] args)
        {
            argument = "btnHisLayoutput";
            ISmartWindow[] wnds = _smartSession.SmartWindowManager.GetSmartWindows((wnd) => { return(wnd is ILayoutViewer); });

            if (wnds != null)
            {
                foreach (ISmartWindow wnd in wnds)
                {
                    ILayoutViewer viewer = wnd as ILayoutViewer;
                    if (viewer == null)
                    {
                        continue;
                    }
                    if (viewer.LayoutHost == null)
                    {
                        continue;
                    }
                    //刷新命令
                    IDataFrame frm = viewer.LayoutHost.ActiveDataFrame;
                    if (frm != null)
                    {
                        viewer.LayoutHost.Render(true);
                    }

                    string defaultFname = string.Empty;
                    if ((viewer as LayoutViewer).Tag != null)
                    {
                        defaultFname = (viewer as LayoutViewer).Tag as string;
                    }

                    ImageFormat imgFormat = GetImageFormatByArgs(ref defaultFname, args);
                    using (Bitmap bmp = viewer.LayoutHost.ExportToBitmap(PixelFormat.Format32bppArgb))
                    {
                        bmp.Save(defaultFname, imgFormat);
                    }
                }
            }
            _smartSession.UIFrameworkHelper.SetVisible(argument, false);
            _smartSession.UIFrameworkHelper.SetLockBesideX(argument, false);
            bool isShowMessage = true;

            if (args.Length > 1)
            {
                bool.TryParse(args[1], out isShowMessage);
            }
            if (isShowMessage)
            {
                MessageBox.Show("专题图导出完毕!");
            }
        }
示例#19
0
        public override void Execute()
        {
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            TextElement textEle = new TextElement();

            viewer.LayoutHost.LayoutRuntime.Layout.Elements.Add(textEle);
            viewer.LayoutHost.Render();
            TryRefreshLayerManager();
        }
        public override void Execute()
        {
            ILayoutViewer layout = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (layout == null)
            {
                return;
            }
            _bitmap = _smartSession.UIFrameworkHelper.GetImage("system:指北针2.bmp") as Bitmap;
            PictureElement pic = new PictureElement(_bitmap);

            layout.LayoutHost.LayoutRuntime.Layout.Elements.Add(pic);
            layout.LayoutHost.Render();
            TryRefreshLayerManager();
        }
示例#21
0
        public override void Execute()
        {
            ILayoutViewer viewer = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (viewer == null)
            {
                return;
            }
            TextElementCurrentDateTime5 date = new TextElementCurrentDateTime5();

            date.Location = new System.Drawing.PointF(100, 50);
            viewer.LayoutHost.LayoutRuntime.Layout.Elements.Add(date);
            viewer.LayoutHost.Render();
            TryRefreshLayerManager();
        }
示例#22
0
        public override void Execute(string argument)
        {
            ILayoutViewer layout = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (layout != null)
            {
                TextElement textEle = new TextElement(argument);
                layout.LayoutHost.LayoutRuntime.Layout.Elements.Add(textEle);
                layout.LayoutHost.Render();
                textEle.IsSelected = true;
                layout.LayoutHost.Aligment(enumElementAligment.LeftRightMid);
                layout.LayoutHost.Render();
            }
            TryRefreshLayerManager();
        }
示例#23
0
        public override void Execute()
        {
            ILayoutViewer view = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (view == null)
            {
                return;
            }
            if (view.LayoutHost == null)
            {
                return;
            }
            (view.LayoutHost).SetActiveDataFrame2CurrentTool();
            (view.LayoutHost).Render();
        }
示例#24
0
        public override void Execute()
        {
            ILayoutViewer host = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (host == null)
            {
                return;
            }
            ILayoutRuntime runtime = host.LayoutHost.LayoutRuntime;

            if (runtime.Selection != null)
            {
                runtime.ClearSelection();
            }
            host.LayoutHost.Render();
        }
示例#25
0
        public override void Execute()
        {
            ILayoutViewer view = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (view == null)
            {
                return;
            }
            ILayoutHost host = view.LayoutHost;

            if (host == null)
            {
                return;
            }
            host.Aligment(enumElementAligment.HorizontalStrech);
            host.Render();
        }
示例#26
0
        private IAVILayer GetAviLayer(ILayoutViewer viewer)
        {
            ILayoutHost host = viewer.LayoutHost;

            if (host == null)
            {
                return(null);
            }
            IDataFrame df = host.ActiveDataFrame;

            if (df == null)
            {
                return(null);
            }
            if (df.Provider == null)
            {
                return(null);
            }
            ICanvas canvas = (df.Provider as IDataFrameDataProvider).Canvas;

            if (canvas == null)
            {
                return(null);
            }
            if (canvas.LayerContainer == null)
            {
                return(null);
            }
            List <ILayer> lyrs = canvas.LayerContainer.Layers;

            if (lyrs == null || lyrs.Count == 0)
            {
                return(null);
            }
            foreach (ILayer lyr in lyrs)
            {
                if (lyr is IAVILayer)
                {
                    return(lyr as IAVILayer);
                }
            }
            return(null);
        }
示例#27
0
        public override void Execute()
        {
            ILayoutViewer view = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (view == null)
            {
                return;
            }
            if (view.LayoutHost == null || view.LayoutHost.ActiveDataFrame == null)
            {
                return;
            }
            IDataFrameDataProvider df = view.LayoutHost.ActiveDataFrame.Provider as IDataFrameDataProvider;

            if (df != null)
            {
                df.Canvas.SetToFullEnvelope();
                (view.LayoutHost).Render(true);
            }
        }
示例#28
0
        public override void Execute()
        {
            ILayoutViewer view = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (view == null)
            {
                return;
            }
            if (view.LayoutHost == null)
            {
                return;
            }
            ILayoutHost host = view.LayoutHost;
            IDataFrame  frm  = host.ActiveDataFrame;

            if (frm != null)
            {
                //(frm.Provider as IDataFrameDataProvider).Canvas.Refresh(enumRefreshType.All);
                host.Render(true);
            }
        }
示例#29
0
        private ICanvas GetCanvasByLayoutDataFrame(ref ILayoutHost host)
        {
            ILayoutViewer view = _session.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (view == null)
            {
                return(null);
            }
            host = view.LayoutHost;
            if (host == null)
            {
                return(null);
            }
            IDataFrame dataFrame = host.ActiveDataFrame;

            if (dataFrame == null)
            {
                return(null);
            }
            return((dataFrame.Provider as IDataFrameDataProvider).Canvas);
        }
示例#30
0
        public override void Execute()
        {
            ILayoutViewer layout = _smartSession.SmartWindowManager.ActiveViewer as ILayoutViewer;

            if (layout == null)
            {
                return;
            }
            ILayoutRuntime runtime = layout.LayoutHost.LayoutRuntime;

            if (runtime.LockedElements == null || runtime.LockedElements.Length == 0)
            {
                return;
            }
            IElement[] eles = runtime.LockedElements;
            foreach (IElement element in eles)
            {
                element.IsLocked = false;
            }
            layout.LayoutHost.Render();
        }