コード例 #1
0
        private static RenderedLayerDisplayInfo BuildLayerSelector(ViewerControl viewer, CachePackage cachePackage,
                                                                   string basePath, CrunchedFile crunchedFile)
        {
            RenderedLayerDisplayInfo renderedLayerDisplayInfo = new RenderedLayerDisplayInfo();

            renderedLayerDisplayInfo.tsmiList = new List <ToolStripMenuItem>();
            foreach (CrunchedLayer current in crunchedFile.crunchedLayers)
            {
                RenderedLayerSelector renderedLayerSelector = new RenderedLayerSelector(current);
                renderedLayerSelector.viewer     = viewer;
                renderedLayerSelector.menuItem   = new ToolStripMenuItem(current.displayName);
                renderedLayerSelector.tileSource = new RenderedTileSource(cachePackage,
                                                                          new VENamingScheme(Path.Combine(basePath, current.namingScheme.GetFilePrefix()),
                                                                                             current.namingScheme.GetFileSuffix()));
                renderedLayerSelector.menuItem.Tag    = renderedLayerSelector;
                renderedLayerSelector.menuItem.Click += MenuItem_Click;
                renderedLayerDisplayInfo.tsmiList.Add(renderedLayerSelector.menuItem);
            }

            for (int i = 0; i < renderedLayerDisplayInfo.tsmiList.Count; i++)
            {
                ((RenderedLayerSelector)renderedLayerDisplayInfo
                 .tsmiList[renderedLayerDisplayInfo.tsmiList.Count - 1 - i].Tag).ToggleLayer();
            }

            renderedLayerDisplayInfo.defaultView = crunchedFile.crunchedLayers[0].defaultView;
            return(renderedLayerDisplayInfo);
        }
コード例 #2
0
        public static RenderedLayerDisplayInfo GetLayerSelector(ViewerControl viewer, CachePackage cachePackage)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = string.Format("MapCruncher Rendered Layers (*{0})|*{1}{2}", CrunchedFile.CrunchedFilenameExtension, CrunchedFile.CrunchedFilenameExtension, BuildConfig.theConfig.allFilesOption);
            openFileDialog.FilterIndex      = 1;
            openFileDialog.RestoreDirectory = true;
            if (openFileDialog.ShowDialog() != DialogResult.OK)
            {
                return(null);
            }
            Uri uri = new Uri(openFileDialog.FileName);

            return(RenderedLayerSelector.GetLayerSelector(viewer, cachePackage, uri));
        }
コード例 #3
0
        public static RenderedLayerDisplayInfo GetLayerSelector(ViewerControl viewer, CachePackage cachePackage, Uri uri)
        {
            RenderedLayerDisplayInfo result;

            try
            {
                CrunchedFile renderedMashupsFromFile = RenderedLayerSelector.GetRenderedMashupsFromFile(uri);
                D.Assert(uri.IsFile);
                string localPath = uri.LocalPath;
                result = RenderedLayerSelector.BuildLayerSelector(viewer, cachePackage, Path.GetDirectoryName(localPath), renderedMashupsFromFile);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error opening crunched file ", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                result = null;
            }
            return(result);
        }
コード例 #4
0
		private static RenderedLayerDisplayInfo BuildLayerSelector(ViewerControl viewer, CachePackage cachePackage, string basePath, CrunchedFile crunchedFile)
		{
			RenderedLayerDisplayInfo renderedLayerDisplayInfo = new RenderedLayerDisplayInfo();
			renderedLayerDisplayInfo.tsmiList = new List<ToolStripMenuItem>();
			foreach (CrunchedLayer current in crunchedFile.crunchedLayers)
			{
				RenderedLayerSelector renderedLayerSelector = new RenderedLayerSelector(current);
				renderedLayerSelector.viewer = viewer;
				renderedLayerSelector.menuItem = new ToolStripMenuItem(current.displayName);
				renderedLayerSelector.tileSource = new RenderedTileSource(cachePackage, new VENamingScheme(Path.Combine(basePath, current.namingScheme.GetFilePrefix()), current.namingScheme.GetFileSuffix()));
				renderedLayerSelector.menuItem.Tag = renderedLayerSelector;
				renderedLayerSelector.menuItem.Click += new EventHandler(RenderedLayerSelector.MenuItem_Click);
				renderedLayerDisplayInfo.tsmiList.Add(renderedLayerSelector.menuItem);
			}
			for (int i = 0; i < renderedLayerDisplayInfo.tsmiList.Count; i++)
			{
				((RenderedLayerSelector)renderedLayerDisplayInfo.tsmiList[renderedLayerDisplayInfo.tsmiList.Count - 1 - i].Tag).ToggleLayer();
			}
			renderedLayerDisplayInfo.defaultView = crunchedFile.crunchedLayers[0].defaultView;
			return renderedLayerDisplayInfo;
		}
コード例 #5
0
        private static void MenuItem_Click(object sender, EventArgs e)
        {
            RenderedLayerSelector renderedLayerSelector = (RenderedLayerSelector)((ToolStripMenuItem)sender).Tag;

            renderedLayerSelector.ToggleLayer();
        }
コード例 #6
0
 internal void AddLayersFromUri(Uri uri)
 {
     this.addLayers(RenderedLayerSelector.GetLayerSelector(this.viewer, this.cachePackage, uri));
 }
コード例 #7
0
 private void addLayerToolStripMenuItem_Click(object sender, EventArgs e)
 {
     this.addLayers(RenderedLayerSelector.GetLayerSelector(this.viewer, this.cachePackage));
 }
コード例 #8
0
 internal void AddLayersFromUri(Uri uri)
 {
     addLayers(RenderedLayerSelector.GetLayerSelector(viewer, cachePackage, uri));
 }