Esempio n. 1
0
 public LayerSelectionProperty(ILayer ObjectWithLayer, string resourceId, LayerList ll, bool includeUndefined)
 {
     layerList       = ll;
     base.resourceId = resourceId;
     if (includeUndefined)
     {
         choices = new string[ll.Count + 1];
         int i = 0;
         foreach (Layer lay in ll)
         {
             choices[i + 1] = lay.Name;
             i++;
         }
         string undef = StringTable.GetString("Layer.Undefined");
         // sollte es den Namen schon geben, werden solange - davor und dahintergemacht, bis es den Namen mehr gibt
         while (layerList.Find(undef) != null)
         {
             undef = "-" + undef + "-";
         }
         choices[0]      = undef;
         objectWithLayer = ObjectWithLayer;
         if (objectWithLayer != null && objectWithLayer.Layer != null)
         {
             selectedText = objectWithLayer.Layer.Name;
         }
         else
         {
             selectedText = undef;
         }
     }
     else
     {
         choices = new string[ll.Count];
         int i = 0;
         foreach (Layer lay in ll)
         {
             choices[i] = lay.Name;
             i++;
         }
         objectWithLayer = ObjectWithLayer;
         if (objectWithLayer != null && objectWithLayer.Layer != null)
         {
             selectedText = objectWithLayer.Layer.Name;
         }
     }
     toWatch = objectWithLayer as IGeoObject;
 }
Esempio n. 2
0
        protected override void OnSelectionChanged(string selected)
        {
            if (selected == null)
            {
                return;
            }
            Layer lay = layerList.Find(selected); // kann null sein

            if (objectWithLayer != null)
            {
                objectWithLayer.Layer = lay;
            }
            base.OnSelectionChanged(selected);
            if (LayerChangedEvent != null)
            {
                LayerChangedEvent(lay);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Alle Layer sollen sich mit ihrer ColorDef Property auf ColorDef Objekte
        /// aus der im Parameter gegebenen Liste beziehen. Die Liste wird ggf. erweitert.
        /// </summary>
        /// <param name="ct">Die Liste der benannten Farben</param>
        internal LayerList clone()
        {
            LayerList res = new LayerList();

            foreach (DictionaryEntry de in entries)
            {
                res.Add((de.Value as Layer).Clone());
            }
            if (current != null)
            {
                res.current = res.Find(current.Name);
            }
            else
            {
                res.current = null;
            }
            return(res);
        }
Esempio n. 4
0
        private void OnCheckStateChanged(string label, CheckState state)
        {
            Layer l = layerList.Find(label);

            if (l == null)
            {
                return;
            }
            if (state == CheckState.Checked)
            {
                if (!checkedLayers.Contains(l))
                {
                    checkedLayers.Add(l);
                }
            }
            else
            {
                checkedLayers.Remove(l);
            }
            if (CheckStateChangedEvent != null)
            {
                CheckStateChangedEvent(l, state == CheckState.Checked);
            }
        }