示例#1
0
        public object Clone()
        {
            LayerBuilder result = CloneSpecific() as LayerBuilder;

            result.m_bOpacity   = this.m_bOpacity;
            result.m_IsOn       = this.m_IsOn;
            result.m_bTemporary = this.m_bTemporary;

            return(result);
        }
        /// <summary>
        /// Default constructor
        /// </summary>
        /// <param name="oDAPbuilder"></param>
        internal PictureWithoutResolution(Dapple.LayerGeneration.LayerBuilder oBuilder)
            : base(oBuilder as Dapple.LayerGeneration.DAPQuadLayerBuilder)
        {
            InitializeComponent();

             m_oNonDapBuilder = oBuilder;

             cbDisplayOptions.DataSource = Options.Picture.DisplayOptionStrings;
             cbDisplayOptions.SelectedIndex = 0;

             tbFilename.Text = System.IO.Path.ChangeExtension(oBuilder.Title, TIF_EXT);
        }
示例#3
0
        /// <summary>
        /// Default constructor
        /// </summary>
        /// <param name="oDAPbuilder"></param>
        internal PictureWithoutResolution(Dapple.LayerGeneration.LayerBuilder oBuilder)
            : base(oBuilder as Dapple.LayerGeneration.DAPQuadLayerBuilder)
        {
            InitializeComponent();

            m_oNonDapBuilder = oBuilder;

            cbDisplayOptions.DataSource    = Options.Picture.DisplayOptionStrings;
            cbDisplayOptions.SelectedIndex = 0;

            tbFilename.Text = System.IO.Path.ChangeExtension(oBuilder.Title, TIF_EXT);
        }
示例#4
0
 internal LayerBuilder GetLayerBuilderByName(String layerName)
 {
     foreach (LayerBuilder b in m_colChildren)
     {
         if (layerName.Equals(b.Title))
         {
             return(b);
         }
     }
     foreach (BuilderDirectory bd in m_colSublist)
     {
         LayerBuilder result = bd.GetLayerBuilderByName(layerName);
         if (result != null)
         {
             return(result);
         }
     }
     return(null);
 }
示例#5
0
        internal void AddLayerBuilder(LayerBuilder oLayer)
        {
            c_oLayerList.AddLayer(oLayer);

            SaveLastView();
        }
示例#6
0
 void GoTo(LayerBuilder builder, bool blImmediate)
 {
     GoTo(builder.Extents, blImmediate);
 }
示例#7
0
 void GoTo(LayerBuilder builder)
 {
     GoTo(builder.Extents, false);
 }
示例#8
0
        private bool AddLayerToGlobe(LayerBuilder oBuilder, bool blSync)
        {
            oBuilder.SubscribeToBuilderChangedEvent(new BuilderChangedHandler(this.BuilderChanged));

             if ((oBuilder is GeorefImageLayerBuilder || oBuilder is KML.KMLLayerBuilder)&& oBuilder.GetLayer() == null) return false;
             if (blSync)
             {
            oBuilder.SyncAddLayer(true);
            RefreshLayerRenderOrder();
             }
             else
             {
            oBuilder.AsyncAddLayer();
             }
             return true;
        }
示例#9
0
        /// <summary>
        /// Event handler for a builder change event.
        /// </summary>
        /// <param name="oBuilder"></param>
        /// <param name="eChangeType"></param>
        private void BuilderChanged(LayerBuilder oBuilder, BuilderChangeType eChangeType)
        {
            if (InvokeRequired)
             {
            Invoke(new BuilderChangedHandler(BuilderChanged), new Object[] { oBuilder, eChangeType });
            return;
             }
             else
             {
            // --- Get the updated builder's index ---
            if (oBuilder.Equals(m_hBaseLayer))
            {
               if (eChangeType == BuilderChangeType.LoadedASync)
               {
                  RefreshLayerRenderOrder();
               }
            }
            else
            {
               int iBuilderIndex = 0;
               while (iBuilderIndex < m_oLayers.Count)
               {
                  if (m_oLayers[iBuilderIndex] == oBuilder) break;
                  iBuilderIndex++;
               }
               if (iBuilderIndex == m_oLayers.Count) return;

               if (eChangeType == BuilderChangeType.LoadedASync)
               {
                  RefreshLayerRenderOrder();
                  c_lvLayers.Items[iBuilderIndex].ImageIndex = c_lvLayers.SmallImageList.Images.IndexOfKey(oBuilder.DisplayIconKey);
               }
               else if (eChangeType == BuilderChangeType.LoadedASyncFailed || eChangeType == BuilderChangeType.LoadedSyncFailed)
               {
                  c_lvLayers.Items[iBuilderIndex].ImageIndex = c_lvLayers.SmallImageList.Images.IndexOfKey("error");
               }
               else if (eChangeType == BuilderChangeType.VisibilityChanged)
               {
                  c_lvLayers.Items[iBuilderIndex].Checked = m_oLayers[iBuilderIndex].Visible;
               }
            }
             }
        }
示例#10
0
 private bool AddLayerToGlobe(LayerBuilder oBuilder)
 {
     return AddLayerToGlobe(oBuilder, oBuilder is GeorefImageLayerBuilder || oBuilder is KML.KMLLayerBuilder);
 }
示例#11
0
        private bool AddLayer(LayerBuilder oNewBuilder, int iInsertIndex)
        {
            if (m_oLayers.Contains(oNewBuilder)) return false;

            if (!m_blLoadingFromView)
                oNewBuilder.Reset();

             m_oLayers.Insert(iInsertIndex, oNewBuilder);
             c_lvLayers.Items.Insert(iInsertIndex, oNewBuilder.Title);
             c_lvLayers.Items[iInsertIndex].Checked = m_oLayers[iInsertIndex].Visible;
             {
            c_lvLayers.Items[iInsertIndex].ImageIndex = c_lvLayers.SmallImageList.Images.IndexOfKey(m_oLayers[iInsertIndex].DisplayIconKey);
             }

             if (!AddLayerToGlobe(m_oLayers[iInsertIndex]))
             {
            c_lvLayers.Items[iInsertIndex].ImageIndex = c_lvLayers.SmallImageList.Images.IndexOfKey("error");
             }

             bool blSupressed = m_blSupressSelectedChanged;
             m_blSupressSelectedChanged = true;

             c_lvLayers.SelectedIndices.Clear();
             c_lvLayers.Items[iInsertIndex].Selected = true;

             m_blSupressSelectedChanged = blSupressed;
             cLayerList_SelectedIndexChanged(this, new EventArgs());

             if (ActiveLayersChanged != null) ActiveLayersChanged();

            ResizeColumn();
             CheckIsValid();

            return true;
        }
示例#12
0
 internal void SetBaseLayer(LayerBuilder oBaseLayer)
 {
     // TODO: remove an existing base layer, if necessary.
      m_hBaseLayer = oBaseLayer;
      m_hBaseLayer.Temporary = true;
      AddLayerToGlobe(oBaseLayer);
 }
示例#13
0
 internal void AddLayer(LayerBuilder oLayer)
 {
     AddLayer(oLayer, 0);
 }
示例#14
0
 internal ExportEntry(LayerBuilder container, RenderableObject ro, RenderableObject.ExportInfo expInfo)
 {
     Container = container;
     RO = ro;
     Info = expInfo;
 }