public void GroupLayerCloneTest() { var mocks = new MockRepository(); var map = mocks.StrictMock<Map>(); map.Expect(m => m.IsDisposing).Return(false).Repeat.Any(); var layer1 = mocks.DynamicMock<ILayer>(); var layer1Clone = mocks.DynamicMock<ILayer>(); layer1.Expect(l => l.Clone()).Return(layer1Clone).Repeat.Once(); mocks.ReplayAll(); var originalGroupLayer = new GroupLayer("original"); originalGroupLayer.Map = map; originalGroupLayer.Layers.AddRange(new[]{layer1}); originalGroupLayer.HasReadOnlyLayersCollection = true; var clone = (GroupLayer) originalGroupLayer.Clone(); Assert.AreEqual("original", clone.Name); Assert.IsNull(clone.Map); Assert.IsTrue(clone.HasReadOnlyLayersCollection); mocks.VerifyAll(); }
public void ClearSelectionOnParentGroupLayerRemove() { var featureProvider = new DataTableFeatureProvider(); featureProvider.Add(new WKTReader().Read("POINT(0 0)")); var layer = new VectorLayer { DataSource = featureProvider }; var groupLayer = new GroupLayer { Layers = { layer } }; using (var mapControl = new MapControl { Map = { Layers = { groupLayer } }, AllowDrop = false }) { var selectTool = mapControl.SelectTool; selectTool.Select(featureProvider.Features.Cast<IFeature>()); WindowsFormsTestHelper.Show(mapControl); mapControl.Map.Layers.Remove(groupLayer); mapControl.WaitUntilAllEventsAreProcessed(); selectTool.Selection .Should("selection is cleared on layer remove").Be.Empty(); } WindowsFormsTestHelper.CloseAll(); }
public void MutatingAGroupLayerWithHasReadonlyLayerCollectionThrows() { var layerGroup = new GroupLayer {HasReadOnlyLayersCollection = true}; var childLayer = new VectorLayer(); layerGroup.Layers.Add(childLayer); }
/// <summary> /// Clones the layer /// </summary> /// <returns>cloned object</returns> public override object Clone() { var clonedLayerGroup = new GroupLayer(name.Clone() as string); foreach (var layer in Layers) { var layerToAdd = layer.Clone() as Layer; clonedLayerGroup.Layers.Add(layerToAdd); } return(clonedLayerGroup); }
public void EnablingChildLayerBubblesOnePropertyChangedEvent() { //this is needed to let the mapcontrol refresh see issue 2749 int callCount = 0; var layerGroup = new GroupLayer(); var childLayer = new VectorLayer(); layerGroup.Layers.Add(childLayer); ((INotifyPropertyChanged)layerGroup).PropertyChanged += (sender, args) => callCount++; childLayer.Visible = false; Assert.AreEqual(1,callCount); }
public void MutatingANestedGroupLayerWhenParentHasReadonlyLayerCollectionDoesNotThrow() { var layerGroup = new GroupLayer(); var childGroupLayer = new GroupLayer(); var childLayer = new VectorLayer(); layerGroup.Layers.Add(childGroupLayer); layerGroup.HasReadOnlyLayersCollection = true; childGroupLayer.Layers.Add(childLayer); //no exception! Assert.AreEqual(1, childGroupLayer.Layers.Count); }
public void CanDeleteAndMoveDependsOnGroupLayerReadOnlyAndFeatureItself() { var map = new Map(); var groupLayer1 = new GroupLayer(); var groupLayer2 = new GroupLayer(); var layer = new VectorLayer(); groupLayer1.Layers.Add(groupLayer2); groupLayer2.Layers.Add(layer); map.Layers.Add(groupLayer1); var editor = new TestFeatureInteractor(layer, null, null, null) { IsEditable = false }; Assert.IsFalse(editor.AllowDeletion()); Assert.IsFalse(editor.AllowMove()); groupLayer1.ReadOnly = true; Assert.IsFalse(editor.AllowDeletion()); Assert.IsFalse(editor.AllowMove()); }
public void IsLegendBigEnoughForContent() { var mapControl = new MapControl(); var groupLayer = new GroupLayer("Group"); var sublayer = new GroupLayer("Subgroup"); var subsublayer = new GroupLayer("Subsubgroup"); var subsubsublayer = new GroupLayer("Subsubsubgroup"); var subsubsubsublayer = new GroupLayer("Subsubsubsubgroup"); var vectorLayer = new VectorLayer("Very long layer name"); vectorLayer.DataSource = new DataTableFeatureProvider("POINT(50 50)"); subsubsubsublayer.Layers.Add(vectorLayer); subsubsublayer.Layers.Add(subsubsubsublayer); subsublayer.Layers.Add(subsubsublayer); sublayer.Layers.Add(subsublayer); groupLayer.Layers.Add(sublayer); mapControl.Map.Layers.Add(groupLayer); mapControl.LegendTool.Visible = true; WindowsFormsTestHelper.ShowModal(mapControl); }
public void BringForward() { var mocks = new MockRepository(); var groupLayer = new GroupLayer(); var layer1 = mocks.Stub<ILayer>(); var layer2 = mocks.Stub<ILayer>(); var layer3 = mocks.Stub<ILayer>(); var layer4 = mocks.Stub<ILayer>(); var layer5 = mocks.Stub<ILayer>(); mocks.ReplayAll(); var map = new Map(); map.Layers.AddRange(new[] { groupLayer, layer4, layer5 }); groupLayer.Layers.AddRange(new[] { layer1, layer2, layer3 }); layer5.RenderOrder = 0; layer1.RenderOrder = 1; layer3.RenderOrder = 2; layer2.RenderOrder = 4; layer4.RenderOrder = 5; map.BringForward(layer3); Assert.AreEqual(0, layer5.RenderOrder); Assert.AreEqual(2, layer1.RenderOrder); Assert.AreEqual(1, layer3.RenderOrder); Assert.AreEqual(3, layer2.RenderOrder); Assert.AreEqual(4, layer4.RenderOrder); }
public void SendToBack() { var mocks = new MockRepository(); var groupLayer = new GroupLayer(); var layer1 = mocks.Stub<ILayer>(); var layer2 = mocks.Stub<ILayer>(); var layer3 = mocks.Stub<ILayer>(); var layer4 = mocks.Stub<ILayer>(); mocks.ReplayAll(); var map = new Map(); map.Layers.AddRange(new[] { groupLayer, layer4 }); groupLayer.Layers.AddRange(new[] { layer1, layer2, layer3 }); layer4.RenderOrder = 5; layer1.RenderOrder = 1; layer3.RenderOrder = 2; layer2.RenderOrder = 4; map.SendToBack(groupLayer); Assert.AreEqual(1, layer1.RenderOrder); Assert.AreEqual(3, layer2.RenderOrder); Assert.AreEqual(2, layer3.RenderOrder); Assert.AreEqual(0, layer4.RenderOrder); }
public void GetLayerByFeature() { var map = new Map(); var groupLayer1 = new GroupLayer(); var groupLayer2 = new GroupLayer(); var childLayer1 = new VectorLayer(); var childLayer2 = new VectorLayer{ Visible = false }; var feature = new Feature(); map.Layers.Add(groupLayer1); groupLayer1.Layers.Add(childLayer1); groupLayer1.Layers.Add(groupLayer2); groupLayer2.Layers.Add(childLayer2); Assert.IsNull(map.GetLayerByFeature(feature)); childLayer2.DataSource = new FeatureCollection { Features = new List<Feature> { feature }, FeatureType = typeof (Feature) }; Assert.AreSame(childLayer2, map.GetLayerByFeature(feature), "Should retrieved invisible layer."); childLayer1.DataSource = new FeatureCollection { Features = new List<Feature> {feature}, FeatureType = typeof (Feature) }; Assert.AreSame(childLayer1, map.GetLayerByFeature(feature), "Should retrieve childLayer1 as it's first in the collection."); }
public void GetAllVisibleLayersWithGroupLayer() { var map = new Map(); var groupLayer = new GroupLayer(); groupLayer.Visible = false; var nestedLayer = new VectorLayer(); nestedLayer.Visible = true; groupLayer.Layers.Add(nestedLayer); var vectorLayer = new VectorLayer(); map.Layers = new EventedList<ILayer> { groupLayer, vectorLayer }; Assert.AreEqual(new ILayer[] { vectorLayer }, map.GetAllVisibleLayers(true).ToArray()); }
public void GetGroupLayerContainingLayer() { var map = new Map(); var groupLayer = new GroupLayer(); var childLayer = new VectorLayer(); map.Layers.Add(groupLayer); groupLayer.Layers.Add(childLayer); Assert.AreEqual(groupLayer, map.GetGroupLayerContainingLayer(childLayer)); //the grouplayer is not part of a grouplayer Assert.IsNull(map.GetGroupLayerContainingLayer(groupLayer)); }