Fix StyleCop warnings for RadMap

This commit is contained in:
apopatanasov 2017-04-27 13:28:28 +03:00
Родитель 147fa7de28
Коммит 37ee86d4e2
35 изменённых файлов: 293 добавлений и 382 удалений

Просмотреть файл

@ -13,7 +13,6 @@ namespace Telerik.Geospatial
/// <param name="value">The raw value read from the file.</param>
/// <param name="fieldName">The name of the field associated with the provided value.</param>
/// <param name="fieldType">The type of the field associated with the provided value.</param>
/// <returns></returns>
object Convert(object value, string fieldName, Type fieldType);
}
}

Просмотреть файл

@ -8,8 +8,6 @@
/// <summary>
/// Converts the processed <see cref="Location"/> value.
/// </summary>
/// <param name="location"></param>
/// <returns></returns>
Location Convert(Location location);
}
}

Просмотреть файл

@ -24,7 +24,7 @@ namespace Telerik.Geospatial
}
/// <summary>
/// Gets the latitude value of the location.
/// Gets or sets the latitude value of the location.
/// </summary>
public double Latitude
{
@ -33,7 +33,7 @@ namespace Telerik.Geospatial
}
/// <summary>
/// Gets the longitude value of the location.
/// Gets or sets the longitude value of the location.
/// </summary>
public double Longitude
{
@ -44,9 +44,6 @@ namespace Telerik.Geospatial
/// <summary>
/// Checks whether two <see cref="Location"/> values are equal.
/// </summary>
/// <param name="location1"></param>
/// <param name="location2"></param>
/// <returns></returns>
public static bool operator ==(Location location1, Location location2)
{
return location1.Equals(location2);
@ -55,9 +52,6 @@ namespace Telerik.Geospatial
/// <summary>
/// Checks whether two <see cref="Location"/> values are not equal.
/// </summary>
/// <param name="location1"></param>
/// <param name="location2"></param>
/// <returns></returns>
public static bool operator !=(Location location1, Location location2)
{
return !location1.Equals(location2);
@ -66,9 +60,6 @@ namespace Telerik.Geospatial
/// <summary>
/// Checks whether two <see cref="Location"/> values are equal.
/// </summary>
/// <param name="location1"></param>
/// <param name="location2"></param>
/// <returns></returns>
public static bool Equals(Location location1, Location location2)
{
return location1.Latitude == location2.Latitude && location1.Longitude == location2.Longitude;

Просмотреть файл

@ -98,9 +98,6 @@
/// <summary>
/// Checks whether two <see cref="LocationRect"/> values are equal.
/// </summary>
/// <param name="locationRect1"></param>
/// <param name="locationRect2"></param>
/// <returns></returns>
public static bool operator ==(LocationRect locationRect1, LocationRect locationRect2)
{
return locationRect1.Equals(locationRect2);
@ -109,9 +106,6 @@
/// <summary>
/// Checks whether two <see cref="LocationRect"/> values are not equal.
/// </summary>
/// <param name="locationRect1"></param>
/// <param name="locationRect2"></param>
/// <returns></returns>
public static bool operator !=(LocationRect locationRect1, LocationRect locationRect2)
{
return !locationRect1.Equals(locationRect2);
@ -120,9 +114,6 @@
/// <summary>
/// Checks whether two <see cref="LocationRect"/> values are equal.
/// </summary>
/// <param name="locationRect1"></param>
/// <param name="locationRect2"></param>
/// <returns></returns>
public static bool Equals(LocationRect locationRect1, LocationRect locationRect2)
{
return locationRect1.Northwest == locationRect2.Northwest && locationRect1.Southeast == locationRect2.Southeast;

Просмотреть файл

@ -8,7 +8,7 @@ namespace Telerik.Geospatial
public interface IMap2DShape : IMapShape
{
/// <summary>
/// Get the collection of collections of <see cref="Location"/> values that represent the shape.
/// Gets the collection of collections of <see cref="Location"/> values that represent the shape.
/// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
IEnumerable<IEnumerable<Location>> Locations

Просмотреть файл

@ -6,7 +6,7 @@
public interface IMapPointShape : IMapShape
{
/// <summary>
/// The geographical location of the shape.
/// Gets the geographical location of the shape.
/// </summary>
Location Location
{

Просмотреть файл

@ -20,8 +20,6 @@ namespace Telerik.Geospatial
/// <summary>
/// Gets the attribute value associated with the provided key.
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
object GetAttribute(string key);
/// <summary>

Просмотреть файл

@ -16,8 +16,8 @@ namespace Telerik.Geospatial
// TODO: What about Null values?
// TODO: Consider whether supporting dBASE version 7 makes sense at all (currently unsupported).
private static readonly byte[] AllowedTypes = new byte[]
{
private static readonly byte[] AllowedTypes = new byte[]
{
0x02, /* FoxBASE */
0x03, /* FoxBASE+/Dbase III plus, no memo */
0x30, /* Visual FoxPro */
@ -30,10 +30,10 @@ namespace Telerik.Geospatial
0xfb /* FoxBASE */
};
public List<string> AttributesToLoad
{
get;
set;
public List<string> AttributesToLoad
{
get;
set;
}
public IAttributeValueConverter AttributeValueConverter
@ -46,70 +46,71 @@ namespace Telerik.Geospatial
{
var token = cancellationTokenSource.Token;
var task = Task.Factory.StartNew(async () =>
{
if (cancellationTokenSource.IsCancellationRequested)
var task = Task.Factory.StartNew(
async () =>
{
return null;
}
if (cancellationTokenSource.IsCancellationRequested)
{
return null;
}
if (stream.Size < 32)
{
throw new NotSupportedException(InvalidFormat);
}
using (var dataStream = stream.CloneStream())
{
byte[] header = new byte[32];
await dataStream.ReadAsync(header.AsBuffer(), 32u, InputStreamOptions.Partial);
byte fileType = header[0];
if (!AllowedTypes.Contains(fileType))
if (stream.Size < 32)
{
throw new NotSupportedException(InvalidFormat);
}
DbfHeader dbfHeader = new DbfHeader();
dbfHeader.RecordsCount = BitConverter.ToInt32(header, 4);
dbfHeader.RecordsOffset = BitConverter.ToInt16(header, 8);
dbfHeader.RecordLength = BitConverter.ToInt16(header, 10);
if (encoding == null)
using (var dataStream = stream.CloneStream())
{
byte languageDriver = header[29];
encoding = DbfEncoding.GetEncoding(languageDriver);
}
byte[] header = new byte[32];
await dataStream.ReadAsync(header.AsBuffer(), 32u, InputStreamOptions.Partial);
dbfHeader.Encoding = encoding;
// header is 32 bytes + n field descriptors * 32 bytes + carriage return byte (0x0D)
int fieldDescriptorCount = (dbfHeader.RecordsOffset - 32 - 1) / 32;
byte[] fieldDescriptor;
DbfFieldInfo dbfField;
for (int i = 0; i < fieldDescriptorCount; i++)
{
if (cancellationTokenSource.IsCancellationRequested)
byte fileType = header[0];
if (!AllowedTypes.Contains(fileType))
{
return null;
throw new NotSupportedException(InvalidFormat);
}
fieldDescriptor = new byte[32];
await dataStream.ReadAsync(fieldDescriptor.AsBuffer(), 32u, InputStreamOptions.Partial);
DbfHeader dbfHeader = new DbfHeader();
dbfHeader.RecordsCount = BitConverter.ToInt32(header, 4);
dbfHeader.RecordsOffset = BitConverter.ToInt16(header, 8);
dbfHeader.RecordLength = BitConverter.ToInt16(header, 10);
dbfField = new DbfFieldInfo();
dbfField.Name = encoding.GetString(fieldDescriptor, 0, 11).Replace("\0", string.Empty);
dbfField.NativeDbfType = (char)fieldDescriptor[11];
if (encoding == null)
{
byte languageDriver = header[29];
encoding = DbfEncoding.GetEncoding(languageDriver);
}
dbfField.Length = fieldDescriptor[16];
dbfField.DecimalCount = fieldDescriptor[17];
dbfHeader.Encoding = encoding;
dbfHeader.Fields.Add(dbfField);
// header is 32 bytes + n field descriptors * 32 bytes + carriage return byte (0x0D)
int fieldDescriptorCount = (dbfHeader.RecordsOffset - 32 - 1) / 32;
byte[] fieldDescriptor;
DbfFieldInfo dbfField;
for (int i = 0; i < fieldDescriptorCount; i++)
{
if (cancellationTokenSource.IsCancellationRequested)
{
return null;
}
fieldDescriptor = new byte[32];
await dataStream.ReadAsync(fieldDescriptor.AsBuffer(), 32u, InputStreamOptions.Partial);
dbfField = new DbfFieldInfo();
dbfField.Name = encoding.GetString(fieldDescriptor, 0, 11).Replace("\0", string.Empty);
dbfField.NativeDbfType = (char)fieldDescriptor[11];
dbfField.Length = fieldDescriptor[16];
dbfField.DecimalCount = fieldDescriptor[17];
dbfHeader.Fields.Add(dbfField);
}
return dbfHeader;
}
return dbfHeader;
}
},
token).Unwrap();
},
token).Unwrap();
return task;
}
@ -120,48 +121,49 @@ namespace Telerik.Geospatial
var cancellationTokenSource = taskState.CancellationTokenSource;
var token = cancellationTokenSource.Token;
var task = Task.Factory.StartNew(async () =>
{
using (var dataStream = taskState.Stream.CloneStream())
var task = Task.Factory.StartNew(
async () =>
{
int start = taskState.Start;
int end = taskState.End;
DbfHeader dbfHeader = taskState.DbfHeader;
var shapeModels = taskState.ShapeModels;
var valueConverter = taskState.ValueConverter;
var attributesToLoad = taskState.AttributesToLoad;
dataStream.Seek((ulong)(dbfHeader.RecordsOffset + start * dbfHeader.RecordLength));
for (int i = start; i < end; i++)
using (var dataStream = taskState.Stream.CloneStream())
{
if (cancellationTokenSource.IsCancellationRequested)
{
return;
}
int start = taskState.Start;
int end = taskState.End;
DbfHeader dbfHeader = taskState.DbfHeader;
var shapeModels = taskState.ShapeModels;
var valueConverter = taskState.ValueConverter;
var attributesToLoad = taskState.AttributesToLoad;
var shapeModel = shapeModels[i] as MapShapeModel;
byte[] record = new byte[dbfHeader.RecordLength];
await dataStream.ReadAsync(record.AsBuffer(), (uint)dbfHeader.RecordLength, InputStreamOptions.Partial);
dataStream.Seek((ulong)(dbfHeader.RecordsOffset + start * dbfHeader.RecordLength));
// Data records are preceded by one byte; that is, a space (20H) if the record is not deleted, an asterisk (2AH) if the record is deleted.
int offset = 1;
foreach (var field in dbfHeader.Fields)
for (int i = start; i < end; i++)
{
if (attributesToLoad == null || attributesToLoad.Contains(field.Name))
if (cancellationTokenSource.IsCancellationRequested)
{
string value = dbfHeader.Encoding.GetString(record, offset, field.Length);
object propertyValue = TransformDbfValue(field, value, valueConverter);
shapeModel.Attributes[field.Name] = propertyValue;
return;
}
offset += field.Length;
var shapeModel = shapeModels[i] as MapShapeModel;
byte[] record = new byte[dbfHeader.RecordLength];
await dataStream.ReadAsync(record.AsBuffer(), (uint)dbfHeader.RecordLength, InputStreamOptions.Partial);
// Data records are preceded by one byte; that is, a space (20H) if the record is not deleted, an asterisk (2AH) if the record is deleted.
int offset = 1;
foreach (var field in dbfHeader.Fields)
{
if (attributesToLoad == null || attributesToLoad.Contains(field.Name))
{
string value = dbfHeader.Encoding.GetString(record, offset, field.Length);
object propertyValue = TransformDbfValue(field, value, valueConverter);
shapeModel.Attributes[field.Name] = propertyValue;
}
offset += field.Length;
}
}
}
}
},
token).Unwrap();
},
token).Unwrap();
return task;
}
@ -348,13 +350,13 @@ namespace Telerik.Geospatial
set;
}
internal IAttributeValueConverter ValueConverter
{
get;
internal IAttributeValueConverter ValueConverter
{
get;
set;
}
internal List<string> AttributesToLoad
internal List<string> AttributesToLoad
{
get;
set;

Просмотреть файл

@ -22,7 +22,8 @@ namespace Telerik.Geospatial
var cancellationTokenSource = taskState.CancellationTokenSource;
var token = cancellationTokenSource.Token;
var task = Task.Factory.StartNew(async () =>
var task = Task.Factory.StartNew(
async () =>
{
using (var shapeStream = taskState.Stream.CloneStream())
{
@ -85,7 +86,7 @@ namespace Telerik.Geospatial
return shapeModels;
}
},
},
token).Unwrap();
return task;
@ -226,51 +227,52 @@ namespace Telerik.Geospatial
{
var token = cancellationTokenSource.Token;
var task = Task.Factory.StartNew(async () =>
{
if (cancellationTokenSource.IsCancellationRequested)
var task = Task.Factory.StartNew(
async () =>
{
return null;
}
using (var shapeStream = stream.CloneStream())
{
int offset = 36;
shapeStream.Seek((ulong)offset);
byte[] boundingBox = new byte[32];
await shapeStream.ReadAsync(boundingBox.AsBuffer(), 32u, InputStreamOptions.Partial);
var recordInfos = new ShapefileRecordInfoCollection();
recordInfos.BoundingRect = GetBoundingRect(boundingBox, this.CoordinateValueConverter);
offset = 100;
shapeStream.Seek((ulong)offset);
while (shapeStream.Position < shapeStream.Size)
if (cancellationTokenSource.IsCancellationRequested)
{
if (cancellationTokenSource.IsCancellationRequested)
{
return null;
}
byte[] recordHeader = new byte[8];
await shapeStream.ReadAsync(recordHeader.AsBuffer(), 8u, InputStreamOptions.Partial);
// The content length for a record is the length of the record contents section measured in 16-bit words.
int contentLength = ToInt32BigEndian(recordHeader, 4) * 2;
offset += 8;
recordInfos.Add(new ShapefileRecordInfo() { ContentOffset = offset, ContentLength = contentLength });
offset += contentLength;
shapeStream.Seek((ulong)offset);
return null;
}
return recordInfos;
}
},
token).Unwrap();
using (var shapeStream = stream.CloneStream())
{
int offset = 36;
shapeStream.Seek((ulong)offset);
byte[] boundingBox = new byte[32];
await shapeStream.ReadAsync(boundingBox.AsBuffer(), 32u, InputStreamOptions.Partial);
var recordInfos = new ShapefileRecordInfoCollection();
recordInfos.BoundingRect = GetBoundingRect(boundingBox, this.CoordinateValueConverter);
offset = 100;
shapeStream.Seek((ulong)offset);
while (shapeStream.Position < shapeStream.Size)
{
if (cancellationTokenSource.IsCancellationRequested)
{
return null;
}
byte[] recordHeader = new byte[8];
await shapeStream.ReadAsync(recordHeader.AsBuffer(), 8u, InputStreamOptions.Partial);
// The content length for a record is the length of the record contents section measured in 16-bit words.
int contentLength = ToInt32BigEndian(recordHeader, 4) * 2;
offset += 8;
recordInfos.Add(new ShapefileRecordInfo() { ContentOffset = offset, ContentLength = contentLength });
offset += contentLength;
shapeStream.Seek((ulong)offset);
}
return recordInfos;
}
},
token).Unwrap();
return task;
}
@ -387,9 +389,9 @@ namespace Telerik.Geospatial
set;
}
internal CancellationTokenSource CancellationTokenSource
{
get;
internal CancellationTokenSource CancellationTokenSource
{
get;
set;
}

Просмотреть файл

@ -12,6 +12,39 @@ namespace Telerik.UI.Automation.Peers
/// </summary>
public class MapShapeAutomationPeer : AutomationPeer, ISelectionItemProvider
{
/// <summary>
/// Initializes a new instance of the <see cref="MapShapeAutomationPeer"/> class.
/// </summary>
/// <param name="layerPeer">The parent shape layer.</param>
/// <param name="shapeModel">The underlying shape model.</param>
public MapShapeAutomationPeer(MapShapeLayerAutomationPeer layerPeer, IMapShape shapeModel) : base()
{
this.LayerPeer = layerPeer;
this.ShapeModel = shapeModel;
}
/// <summary>
/// Gets a value indicating whether this shape is selected.
/// </summary>
public bool IsSelected
{
get
{
return this.LayerPeer.SelectionBehavior.SelectedShapes.ToList().Contains(this.ShapeModel);
}
}
/// <summary>
/// Gets the parent ISelectionProvider performing the selection.
/// </summary>
public IRawElementProviderSimple SelectionContainer
{
get
{
return this.ProviderFromPeer(this.LayerPeer);
}
}
private MapShapeLayerAutomationPeer LayerPeer
{
get;
@ -25,40 +58,7 @@ namespace Telerik.UI.Automation.Peers
}
/// <summary>
/// Initializes a new instance of the MapShapeLayerAutomationPeer class.
/// </summary>
/// <param name="layerPeer">The parent shape layer.</param>
/// <param name="shapeModel">The underlying shape model.</param>
public MapShapeAutomationPeer(MapShapeLayerAutomationPeer layerPeer, IMapShape shapeModel) : base()
{
this.LayerPeer = layerPeer;
this.ShapeModel = shapeModel;
}
/// <summary>
/// Returns a value indicating wheather this shape is selected.
/// </summary>
public bool IsSelected
{
get
{
return this.LayerPeer.SelectionBehavior.SelectedShapes.ToList().Contains(this.ShapeModel);
}
}
/// <summary>
/// The parent ISelectionProvider performing the selection.
/// </summary>
public IRawElementProviderSimple SelectionContainer
{
get
{
return this.ProviderFromPeer(this.LayerPeer);
}
}
/// <summary>
/// Selets the shape.
/// Selects the shape.
/// </summary>
public void AddToSelection()
{
@ -92,8 +92,8 @@ namespace Telerik.UI.Automation.Peers
}
}
}
/// <inheritdoc/>
/// <inheritdoc/>
protected override string GetLocalizedControlTypeCore()
{
return "map shape";

Просмотреть файл

@ -1,9 +1,9 @@
using System.Linq;
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using Telerik.Geospatial;
using Telerik.UI.Xaml.Controls.Map;
using Windows.UI.Xaml.Automation.Peers;
using Windows.UI.Xaml.Automation.Provider;
using Telerik.Geospatial;
namespace Telerik.UI.Automation.Peers
{
@ -13,11 +13,6 @@ namespace Telerik.UI.Automation.Peers
public class MapShapeLayerAutomationPeer : RadControlAutomationPeer, ISelectionProvider
{
private Dictionary<string, MapShapeAutomationPeer> childrenCache;
internal MapShapeLayer LayerOwner
{
get;
set;
}
/// <summary>
/// Initializes a new instance of the <see cref="MapShapeLayerAutomationPeer"/> class.
@ -28,7 +23,7 @@ namespace Telerik.UI.Automation.Peers
}
/// <summary>
/// Indicates whether multiple selection is possible in the layer.
/// Gets a value indicating whether multiple selection is possible in the layer.
/// </summary>
public bool CanSelectMultiple
{
@ -44,7 +39,7 @@ namespace Telerik.UI.Automation.Peers
}
/// <summary>
/// Indicates whether selection is required in the layer.
/// Gets a value indicating whether selection is required in the layer.
/// </summary>
public bool IsSelectionRequired
{
@ -54,27 +49,10 @@ namespace Telerik.UI.Automation.Peers
}
}
/// <summary>
/// List of the selected peers' providers.
/// </summary>
/// <returns></returns>
public IRawElementProviderSimple[] GetSelection()
internal MapShapeLayer LayerOwner
{
List<IRawElementProviderSimple> samples = new List<IRawElementProviderSimple>();
foreach (MapShapeAutomationPeer peer in this.childrenCache.Values)
{
if (peer.IsSelected == true)
{
samples.Add(ProviderFromPeer(peer));
}
}
return samples.ToArray();
}
/// <inheritdoc />
protected override string GetLocalizedControlTypeCore()
{
return "map shape layer";
get;
set;
}
internal MapShapeSelectionBehavior SelectionBehavior
@ -90,14 +68,35 @@ namespace Telerik.UI.Automation.Peers
}
return null;
}
}
}
/// <summary>
/// List of the selected peers' providers.
/// </summary>
public IRawElementProviderSimple[] GetSelection()
{
List<IRawElementProviderSimple> samples = new List<IRawElementProviderSimple>();
foreach (MapShapeAutomationPeer peer in this.childrenCache.Values)
{
if (peer.IsSelected == true)
{
samples.Add(this.ProviderFromPeer(peer));
}
}
return samples.ToArray();
}
/// <inheritdoc />
protected override string GetLocalizedControlTypeCore()
{
return "map shape layer";
}
/// <summary>
/// Gets the list of child peers.
/// Currently runtime changes of shapes is not supported.
/// For example removing 3 shapes re-adding 3 new shapes will not recreate the child peers.
/// </summary>
/// <returns></returns>
protected override IList<AutomationPeer> GetChildrenCore()
{
if (this.childrenCache == null || this.childrenCache.Count != this.LayerOwner.ShapeModels.Count)

Просмотреть файл

@ -9,6 +9,13 @@ namespace Telerik.UI.Automation.Peers
/// </summary>
public class RadMapAutomationPeer : RadControlAutomationPeer
{
/// <summary>
/// Initializes a new instance of the <see cref="RadMapAutomationPeer"/> class.
/// </summary>
public RadMapAutomationPeer(RadMap owner) : base(owner)
{
}
internal RadMap MapOwner
{
get
@ -17,14 +24,6 @@ namespace Telerik.UI.Automation.Peers
}
}
/// <summary>
/// Initializes a new instance of the <see cref="RadMapAutomationPeer"/> class.
/// </summary>
public RadMapAutomationPeer(RadMap owner) : base(owner)
{
}
/// <inheritdoc />
protected override string GetLocalizedControlTypeCore()
{
@ -52,5 +51,3 @@ namespace Telerik.UI.Automation.Peers
}
}
}

Просмотреть файл

@ -124,7 +124,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// manipulate all of them.
/// </remarks>
/// <param name="location">The location.</param>
/// <returns></returns>
protected internal virtual IEnumerable<IMapShape> HitTest(Point location)
{
yield return this.map.HitTest(location);
@ -133,7 +132,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.PointerEntered"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnPointerEntered(PointerRoutedEventArgs args)
{
}
@ -141,7 +139,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.PointerMoved"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnPointerMoved(PointerRoutedEventArgs args)
{
}
@ -149,7 +146,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.PointerExited"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnPointerExited(PointerRoutedEventArgs args)
{
}
@ -157,7 +153,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.PointerPressed"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnPointerPressed(PointerRoutedEventArgs args)
{
}
@ -165,7 +160,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.HoldCompleted"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnHoldCompleted(HoldingRoutedEventArgs args)
{
}
@ -173,7 +167,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.HoldStarted"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnHoldStarted(HoldingRoutedEventArgs args)
{
}
@ -181,7 +174,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.Tapped"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnTapped(TappedRoutedEventArgs args)
{
}
@ -189,7 +181,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.DoubleTapped"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnDoubleTapped(DoubleTappedRoutedEventArgs args)
{
}
@ -197,7 +188,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.ManipulationStarted"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnManipulationStarted(ManipulationStartedRoutedEventArgs args)
{
}
@ -205,7 +195,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.ManipulationDelta"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnManipulationDelta(ManipulationDeltaRoutedEventArgs args)
{
}
@ -213,7 +202,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.ManipulationCompleted"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnManipulationCompleted(ManipulationCompletedRoutedEventArgs args)
{
}
@ -221,7 +209,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.PointerWheelChanged"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnPointerWheelChanged(PointerRoutedEventArgs args)
{
}
@ -229,7 +216,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.PointerReleased"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal virtual void OnPointerReleased(PointerRoutedEventArgs args)
{
}

Просмотреть файл

@ -44,7 +44,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Initiates a hit test on the specified <see cref="Windows.Foundation.Point(double, double)" /> location.
/// </summary>
/// <param name="location">The location.</param>
/// <returns></returns>
/// <remarks>
/// The default <see cref="MapBehavior" /> logic returns only the top-most <see cref="D2DShape" /> from the <see cref="MapShapeLayer" /> that matches the specific behavior requirements;
/// you can override the default logic and return multiple <see cref="D2DShape" /> instances (e.g. from layers that overlay one another) and the specific <see cref="MapBehavior" /> will

Просмотреть файл

@ -199,7 +199,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.ManipulationStarted" /> event of the owning <see cref="RadMap" /> instance.
/// </summary>
/// <param name="args"></param>
protected internal override void OnManipulationStarted(ManipulationStartedRoutedEventArgs args)
{
base.OnManipulationStarted(args);
@ -210,7 +209,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.ManipulationCompleted" /> event of the owning <see cref="RadMap" /> instance.
/// </summary>
/// <param name="args"></param>
protected internal override void OnManipulationCompleted(ManipulationCompletedRoutedEventArgs args)
{
base.OnManipulationCompleted(args);
@ -222,7 +220,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Processes the Scale and Translation properties of the Delta manipulation.
/// The event is handled if the owning map is not in "Hold" state.
/// </summary>
/// <param name="args"></param>
protected internal override void OnManipulationDelta(ManipulationDeltaRoutedEventArgs args)
{
base.OnManipulationDelta(args);
@ -258,7 +255,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.PointerWheelChanged"/> event of the owning <see cref="RadMap"/> instance.
/// </summary>
/// <param name="args"></param>
protected internal override void OnPointerWheelChanged(PointerRoutedEventArgs args)
{
base.OnPointerWheelChanged(args);

Просмотреть файл

@ -111,6 +111,43 @@ namespace Telerik.UI.Xaml.Controls.Map
this.ClearSelectedModelsAndUpdateUIState();
}
internal void PerformSelection(D2DShape shape)
{
MapShapeModel model = shape.Model as MapShapeModel;
if (model == null)
{
Debug.Assert(false, "Must have a model associated with each UI shape");
return;
}
var context = new SelectionChangeContext()
{
Layer = this.map.Layers.FindLayerById(shape.LayerId),
Shape = shape,
Model = model
};
if (this.selectionModeCache == MapShapeSelectionMode.Single)
{
this.SingleSelect(context, true);
}
else if (this.selectionModeCache == MapShapeSelectionMode.MultiSimple)
{
this.SingleSelect(context, false);
}
else if (this.selectionModeCache == MapShapeSelectionMode.MultiExtended)
{
this.MultiExtendedSelect(context);
}
this.NotifySelectionChanged(context);
}
internal void DeselectShape(MapShapeModel shapeModel)
{
this.selectedModels.Remove(shapeModel);
}
/// <summary>
/// Method is internal for unit test purposes.
/// </summary>
@ -133,7 +170,7 @@ namespace Telerik.UI.Xaml.Controls.Map
this.PerformSelection(d2dShape);
}
}
/// <summary>
/// Called when the respective <see cref="MapShapeLayer" /> is invalidated and its contents are cleared.
/// </summary>
@ -172,7 +209,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Initiates a hit test on the specified <see cref="Windows.Foundation.Point(double, double)" /> location.
/// </summary>
/// <param name="location">The location.</param>
/// <returns></returns>
/// <remarks>
/// The default <see cref="MapBehavior" /> logic returns only the top-most <see cref="D2DShape" /> from the <see cref="MapShapeLayer" /> that matches the specific behavior requirements;
/// you can override the default logic and return multiple <see cref="D2DShape" /> instances (e.g. from layers that overlay one another) and the specific <see cref="MapBehavior" /> will
@ -204,7 +240,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.Tapped" /> event of the owning <see cref="RadMap" /> instance.
/// </summary>
/// <param name="args"></param>
protected internal override void OnTapped(TappedRoutedEventArgs args)
{
base.OnTapped(args);
@ -273,43 +308,6 @@ namespace Telerik.UI.Xaml.Controls.Map
}
}
internal void PerformSelection(D2DShape shape)
{
MapShapeModel model = shape.Model as MapShapeModel;
if (model == null)
{
Debug.Assert(false, "Must have a model associated with each UI shape");
return;
}
var context = new SelectionChangeContext()
{
Layer = this.map.Layers.FindLayerById(shape.LayerId),
Shape = shape,
Model = model
};
if (this.selectionModeCache == MapShapeSelectionMode.Single)
{
this.SingleSelect(context, true);
}
else if (this.selectionModeCache == MapShapeSelectionMode.MultiSimple)
{
this.SingleSelect(context, false);
}
else if (this.selectionModeCache == MapShapeSelectionMode.MultiExtended)
{
this.MultiExtendedSelect(context);
}
this.NotifySelectionChanged(context);
}
internal void DeselectShape(MapShapeModel shapeModel)
{
this.selectedModels.Remove(shapeModel);
}
private static void OnSelectionModePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var behavior = d as MapShapeSelectionBehavior;

Просмотреть файл

@ -87,8 +87,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Gets the <see cref="DataTemplate"/> instance associated with the specified <see cref="DependencyObject"/> instance.
/// </summary>
/// <param name="instance"></param>
/// <returns></returns>
public static DataTemplate GetContentTemplate(DependencyObject instance)
{
if (instance == null)
@ -102,8 +100,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Sets the provided <see cref="DataTemplate"/> instance to the the specified <see cref="DependencyObject"/> instance.
/// </summary>
/// <param name="instance"></param>
/// <param name="template"></param>
public static void SetContentTemplate(DependencyObject instance, DataTemplate template)
{
if (instance == null)
@ -209,7 +205,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Initiates a hit test on the specified <see cref="Windows.Foundation.Point(double, double)" /> location.
/// </summary>
/// <param name="location">The location.</param>
/// <returns></returns>
/// <remarks>
/// The default <see cref="MapBehavior" /> logic returns only the top-most <see cref="D2DShape" /> from the <see cref="MapShapeLayer" /> that matches the specific behavior requirements;
/// you can override the default logic and return multiple <see cref="D2DShape" /> instances (e.g. from layers that overlay one another) and the specific <see cref="MapBehavior" /> will
@ -257,7 +252,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Handles the <see cref="E:RadMap.Tapped" /> event of the owning <see cref="RadMap" /> instance.
/// </summary>
/// <param name="args"></param>
protected internal override void OnTapped(TappedRoutedEventArgs args)
{
base.OnTapped(args);

Просмотреть файл

@ -15,6 +15,9 @@
</Recognized>
<Recognized>
<Word>shapefile</Word>
</Recognized>
<Recognized>
<Word>dbf</Word>
</Recognized>
</Words>
</Dictionary>

Просмотреть файл

@ -32,105 +32,105 @@ namespace Telerik.UI.Xaml.Controls.Map
public interface ISpatialReference
{
/// <summary>
/// The measurement units used to define the angles of a spheroid or ellipse associated with a specific datum.
/// Gets or sets the measurement units used to define the angles of a spheroid or ellipse associated with a specific datum.
/// The datum is usually WGS (World Geodetic System) 1984 and the unit of measurement is a degree.
/// </summary>
double AngularUnitOfMeasurement { get; set; }
/// <summary>
/// The authority body that defines the standards for the spatial reference parameters.
/// Gets or sets the authority body that defines the standards for the spatial reference parameters.
/// Spatial Reference is usually WGS 1984 and the authority is EPSG:4326.
/// </summary>
string Authority { get; set; }
/// <summary>
/// The line of longitude at the center of a map projection generally used as the basis for constructing the projection.
/// Gets or sets the line of longitude at the center of a map projection generally used as the basis for constructing the projection.
/// </summary>
double CentralMeridian { get; set; }
/// <summary>
/// This indicates the horizontal datum,
/// Gets or sets the horizontal datum,
/// which corresponds to the procedure used to measure positions on the surface of the Earth.
/// </summary>
string Datum { get; set; }
/// <summary>
/// This indicates the horizontal datum,
/// Gets or sets the horizontal datum,
/// which corresponds to the procedure used to measure positions on the surface of the Earth.
/// </summary>
string DatumAuthority { get; set; }
/// <summary>
/// The value added to all "x" values in the rectangular coordinate for a map projection.
/// Gets or sets the value added to all "x" values in the rectangular coordinate for a map projection.
/// This value frequently is assigned to eliminate negative numbers.
/// Expressed in the unit of measure identified in Planar Coordinate Units.
/// </summary>
double FalseEasting { get; set; }
/// <summary>
/// The value added to all "y" values in the rectangular coordinates for a map projection.
/// Gets or sets the value added to all "y" values in the rectangular coordinates for a map projection.
/// This value frequently is assigned to eliminate negative numbers.
/// Expressed in the unit of measure identified in Planar Coordinate Units.
/// </summary>
double FalseNorthing { get; set; }
/// <summary>
/// A coordinate system based on latitude and longitude. Some geographic coordinate systems are Latitude/Longitude,
/// Gets or sets a coordinate system based on latitude and longitude. Some geographic coordinate systems are Latitude/Longitude,
/// and some are Longitude/Latitude. You can find out which this is by examining the axes.
/// You should also check the angular units, since not all geographic coordinate systems use degrees.
/// </summary>
string GeoGcs { get; set; }
/// <summary>
/// The latitude chosen as the origin of rectangular coordinate for a map projection.
/// Gets or sets the latitude chosen as the origin of rectangular coordinate for a map projection.
/// </summary>
double LatitudeOfOrigin { get; set; }
/// <summary>
/// This defines the meridian used to take longitude measurements from.
/// Gets or sets the meridian used to take longitude measurements from.
/// The units of the longitude must be inferred from the context.
/// </summary>
double Primem { get; set; }
/// <summary>
/// This defines the meridian used to take longitude measurements from.
/// Gets or sets the meridian used to take longitude measurements from.
/// The units of the longitude must be inferred from the context.
/// </summary>
string PrimemAuthority { get; set; }
/// <summary>
/// This describes a projection from geographic coordinates to projected coordinates.
/// Gets or sets a projection from geographic coordinates to projected coordinates.
/// </summary>
string ProjectionAuthority { get; set; }
/// <summary>
/// This describes a spheroid, which is an approximation of the Earth's surface as a squashed sphere.
/// Gets or sets a spheroid, which is an approximation of the Earth's surface as a squashed sphere.
/// </summary>
double SpheroidRadius { get; set; }
/// <summary>
/// This describes a spheroid, which is an approximation of the Earth's surface as a squashed sphere.
/// Gets or sets a spheroid, which is an approximation of the Earth's surface as a squashed sphere.
/// </summary>
double SpheroidFlattening { get; set; }
/// <summary>
/// This describes a spheroid, which is an approximation of the Earth's surface as a squashed sphere.
/// Gets or sets a spheroid, which is an approximation of the Earth's surface as a squashed sphere.
/// </summary>
string SpheroidAuthority { get; set; }
/// <summary>
/// The line of constant latitude at which the surface of the Earth and the plane or developable surface intersect.
/// Gets or sets the line of constant latitude at which the surface of the Earth and the plane or developable surface intersect.
/// </summary>
double StandardParallel { get; set; }
/// <summary>
/// The authority body that defines the unit of measurement i.e. European Petroleum Survey Group (EPSG).
/// Gets or sets the authority body that defines the unit of measurement i.e. European Petroleum Survey Group (EPSG).
/// The unit of measurement is usually degrees and the authority for the datum the map uses, WGS 1984 is EPSG:4326.
/// </summary>
string UnitAuthority { get; set; }
/// <summary>
/// The minimum Latitude this tile source supports.
/// Gets or sets the minimum Latitude this tile source supports.
/// </summary>
double MinLatitude
{
@ -139,7 +139,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The maximum Latitude this tile source supports.
/// Gets or sets the maximum Latitude this tile source supports.
/// </summary>
double MaxLatitude
{
@ -148,7 +148,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The minimum Longitude this tile source supports.
/// Gets or sets the minimum Longitude this tile source supports.
/// </summary>
double MinLongitude
{
@ -157,7 +157,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The maximum Longitude this tile source supports.
/// Gets or sets the maximum Longitude this tile source supports.
/// </summary>
double MaxLongitude
{

Просмотреть файл

@ -13,7 +13,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Loads the <see cref="StorageFile"/> containing the Map Shapes definition.
/// </summary>
/// <param name="uri">The <see cref="Uri"/> pointing to the file location.</param>
/// <returns></returns>
Task<StorageFile> GetStorageFile(Uri uri);
}
}

Просмотреть файл

@ -116,8 +116,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Gets the <see cref="ColorRange"/> instance where the specified shape falls.
/// </summary>
/// <param name="shape"></param>
/// <returns></returns>
public ColorRange GetRangeForShape(IMapShape shape)
{
if (shape == null)
@ -138,7 +136,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Gets the <see cref="D2DShapeStyle" /> instance that defines the appearance of the specified <see cref="IMapShape" /> instance.
/// </summary>
/// <param name="shape">The <see cref="IMapShape" /> instance for which the style is to be retrieved.</param>
/// <returns></returns>
protected internal override D2DShapeStyle GetShapeStyle(IMapShape shape)
{
var range = this.GetRangeForShape(shape);
@ -154,7 +151,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Gets the <see cref="ColorRange"/> instance at the specified index.
/// </summary>
/// <param name="rangeIndex">The zero-based index of the range.</param>
/// <returns></returns>
protected ColorRange GetRangeAt(int rangeIndex)
{
if (rangeIndex < 0 || rangeIndex >= this.ranges.Count)
@ -168,15 +164,12 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Gets the count of the ranges that will be generated.
/// </summary>
/// <returns></returns>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
protected abstract int GetRangeCount();
/// <summary>
/// Provides the core logic behind range generation. Allows inheritors to provide custom range generation routine.
/// </summary>
/// <param name="shapes"></param>
/// <returns></returns>
protected virtual IEnumerable<ColorRange> BuildRanges(IEnumerable<IMapShape> shapes)
{
int rangeCount = this.GetRangeCount();
@ -195,8 +188,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Gets the <see cref="ColorRange"/> instance where the specified value falls.
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
protected virtual ColorRange GetRangeForValue(double value)
{
if (value == double.NegativeInfinity || this.distribution == null)
@ -231,7 +222,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Implements the core logic behind the Initialize routine.
/// </summary>
/// <param name="shapes">The set of shapes to initialize from.</param>
/// <returns></returns>
protected override bool InitializeOverride(IEnumerable<IMapShape> shapes)
{
if (string.IsNullOrEmpty(this.attributeNameCache))
@ -272,7 +262,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Sets the <see cref="D2DBrush"/> instance that defines the fill for each shape falling within the range.
/// </summary>
/// <param name="range"></param>
protected virtual void SetFillForRange(ColorRange range)
{
}
@ -280,8 +269,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Provides an extension point for inheritors to perform additional logic when a <see cref="IMapShape"/> is associated with a valid <see cref="ColorRange"/>.
/// </summary>
/// <param name="shape"></param>
/// <param name="range"></param>
protected virtual void OnShapeAssociated(IMapShape shape, ColorRange range)
{
}

Просмотреть файл

@ -53,7 +53,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The zero-based index of the range in its owning <see cref="ChoroplethColorizer"/> instance.
/// Gets the zero-based index of the range in its owning <see cref="ChoroplethColorizer"/> instance.
/// </summary>
public int Index
{

Просмотреть файл

@ -117,7 +117,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Gets the count of the ranges that will be generated.
/// </summary>
/// <returns></returns>
protected override int GetRangeCount()
{
return this.rangeCountCache;
@ -126,7 +125,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Sets the <see cref="D2DBrush" /> instance that defines the fill for each shape falling within the range.
/// </summary>
/// <param name="range"></param>
protected override void SetFillForRange(ColorRange range)
{
if (range == null)

Просмотреть файл

@ -55,7 +55,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Gets the <see cref="D2DShapeStyle"/> instance that defines the appearance of the specified <see cref="IMapShape"/> instance.
/// </summary>
/// <param name="shape">The <see cref="IMapShape"/> instance for which the style is to be retrieved.</param>
/// <returns></returns>
protected internal abstract D2DShapeStyle GetShapeStyle(IMapShape shape);
/// <summary>
@ -66,8 +65,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Provides an extension methods to inheritors to perform the core initialization logic given a set of shapes.
/// </summary>
/// <param name="shapes"></param>
/// <returns></returns>
protected abstract bool InitializeOverride(IEnumerable<IMapShape> shapes);
/// <summary>

Просмотреть файл

@ -73,8 +73,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Provides the core logic behind range generation. Allows inheritors to provide custom range generation routine.
/// </summary>
/// <param name="shapes"></param>
/// <returns></returns>
protected override IEnumerable<ColorRange> BuildRanges(IEnumerable<IMapShape> shapes)
{
if (this.rangeStops.Count == 0)
@ -107,7 +105,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Gets the count of the ranges that will be generated.
/// </summary>
/// <returns></returns>
protected override int GetRangeCount()
{
int rangeCount = this.rangeStops.Count;
@ -122,7 +119,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Sets the <see cref="D2DBrush" /> instance that defines the fill for each shape falling within the range.
/// </summary>
/// <param name="range"></param>
protected override void SetFillForRange(ColorRange range)
{
if (range == null)
@ -141,8 +137,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Gets the <see cref="ColorRange" /> instance where the specified value falls.
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
protected override ColorRange GetRangeForValue(double value)
{
if (this.rangeStops.Count == 0)

Просмотреть файл

@ -9,7 +9,7 @@ namespace Telerik.UI.Xaml.Controls.Map
public interface IMapDataItem
{
/// <summary>
/// The geographic location where the item needs to be displayed.
/// Gets the geographic location where the item needs to be displayed.
/// </summary>
Location Location
{
@ -17,7 +17,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The minimum of the zoom range in which the item is visible.
/// Gets the minimum of the zoom range in which the item is visible.
/// </summary>
double MinZoom
{
@ -25,7 +25,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The maximum of the zoom range in which the item is visible.
/// Gets the maximum of the zoom range in which the item is visible.
/// </summary>
double MaxZoom
{
@ -33,7 +33,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// Defines how the visual representation of the data item is aligned with the physical coordinates of the <see cref="Location"/> property.
/// Gets how the visual representation of the data item is aligned with the physical coordinates of the <see cref="Location"/> property.
/// A value of (0.5, 0.5) will center the visual representation over the geographic location.
/// </summary>
Point LocationOrigin

Просмотреть файл

@ -29,7 +29,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// Shapefile Layers expose an ID property for logical separation of all the shapes that reside within one D2DCanvas instance.
/// Gets an ID property for logical separation of all the shapes that reside within one D2DCanvas instance.
/// </summary>
internal virtual int Id
{

Просмотреть файл

@ -17,8 +17,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Retrieves the <see cref="MapLayer"/> instance from the specified Id.
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public MapLayer FindLayerById(int id)
{
foreach (var layer in this)
@ -47,7 +45,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Removes the element at the specified index of the collection.
/// </summary>
/// <param name="index"></param>
protected override void RemoveItem(int index)
{
MapLayer presenter = this[index];

Просмотреть файл

@ -12,8 +12,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Applies the custom layout logic given the provided layout context and layer.
/// </summary>
/// <param name="context"></param>
/// <param name="container"></param>
public void Process(MapShapeLabelLayoutContext context, MapShapeLayer container)
{
this.ProcessCore(context, container);
@ -22,8 +20,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Performs the core logic behind the <see cref="Process"/> routine.
/// </summary>
/// <param name="context"></param>
/// <param name="container"></param>
protected virtual void ProcessCore(MapShapeLabelLayoutContext context, MapShapeLayer container)
{
}

Просмотреть файл

@ -357,7 +357,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// Exposed for testing purposes, do not use outside the test project.
/// Gets a list of the <see cref="D2DShape"/> shape visuals - exposed for testing purposes, do not use outside the test project.
/// </summary>
internal List<D2DShape> ShapeVisuals
{
@ -555,7 +555,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
}
///<inheritdoc />
/// <inheritdoc/>
protected override AutomationPeer OnCreateAutomationPeer()
{
return new MapShapeLayerAutomationPeer(this);

Просмотреть файл

@ -23,8 +23,6 @@
/// <summary>
/// Provides the core implementation of the <see cref="M:SelectStyle"/> method.
/// </summary>
/// <param name="context"></param>
/// <param name="container"></param>
protected virtual void SelectStyleCore(MapShapeStyleContext context, MapShapeLayer container)
{
}

Просмотреть файл

@ -335,7 +335,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Called when the Framework <see cref="M:OnApplyTemplate" /> is called. Inheritors should override this method should they have some custom template-related logic.
/// This is done to ensure that the <see cref="P:IsTemplateApplied" /> property is properly initialized.
/// </summary>
/// <returns></returns>
protected override bool ApplyTemplateCore()
{
bool applied = base.ApplyTemplateCore();

Просмотреть файл

@ -17,7 +17,6 @@ Implement the ITransportResolver interface and assign it to the ShapefileDataSou
/// Loads the <see cref="StorageFile" /> containing the Map Shapes definition.
/// </summary>
/// <param name="uri">The <see cref="Uri" /> pointing to the file location.</param>
/// <returns></returns>
/// <exception cref="System.NotSupportedException">The NotSupportedException in case the Uri does not start with 'ms-appx' or 'ms-appdata'.</exception>
[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1650:ElementDocumentationMustBeSpelledCorrectly", Justification = "Reviewed.")]
public async Task<StorageFile> GetStorageFile(Uri uri)

Просмотреть файл

@ -300,7 +300,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <param name="location">The location.</param>
/// <param name="shapeLayer">The <see cref="MapShapeLayer"/> instance whose shapes to hit test.
/// Default value is null i.e. hit testing is performed on all layers (starting from the top-most one) and the first positive match is returned.</param>
/// <returns></returns>
public IMapShape HitTest(Point location, MapShapeLayer shapeLayer = null)
{
int layerZIndex = -1;
@ -321,7 +320,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Sets the provided <see cref="LocationRect"/> value as the current view of the map.
/// </summary>
/// <param name="boundingRect"></param>
public void SetView(LocationRect boundingRect)
{
boundingRect = this.CoerceLocationRect(boundingRect);
@ -387,7 +385,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Converts the specified physical point to its geographic equivalent. The provided physical point is relative to the map's TopLeft position.
/// </summary>
/// <param name="point">The physical point (typically associated with a Pointer contact).</param>
/// <returns></returns>
public Location ConvertPhysicalToGeographicCoordinate(DoublePoint point)
{
if (!this.IsTemplateApplied)
@ -404,7 +401,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Converts the specified geographic location to its physical equivalent.
/// </summary>
/// <param name="location">The geographic location.</param>
/// <returns></returns>
public DoublePoint ConvertGeographicToPhysicalCoordinate(Location location)
{
var logicalPoint = this.SpatialReference.ConvertGeographicToLogicalCoordinate(location);
@ -516,7 +512,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// Called when the Framework <see cref="M:OnApplyTemplate" /> is called. Inheritors should override this method should they have some custom template-related logic.
/// This is done to ensure that the <see cref="P:IsTemplateApplied" /> property is properly initialized.
/// </summary>
/// <returns></returns>
protected override bool ApplyTemplateCore()
{
bool applied = base.ApplyTemplateCore();
@ -568,7 +563,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// Unapplies the current control template. Occurs when a template has already been applied and a new one is applied.
/// Do no apply the current control template. Occurs when a template has already been applied and a new one is applied.
/// </summary>
protected override void UnapplyTemplateCore()
{
@ -845,7 +840,6 @@ namespace Telerik.UI.Xaml.Controls.Map
/// <summary>
/// Calculates the geo bounds.
/// </summary>
/// <returns></returns>
private LocationRect CalculateGeoBounds()
{
DoublePoint topLeft = this.ConvertPixelToLogicalCoordinate(new DoublePoint() { X = 0, Y = 0 });

Просмотреть файл

@ -247,7 +247,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The minimum Latitude this tile source supports.
/// Gets or sets the minimum Latitude this tile source supports.
/// </summary>
public double MinLatitude
{
@ -256,7 +256,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The maximum Latitude this tile source supports.
/// Gets or sets the maximum Latitude this tile source supports.
/// </summary>
public double MaxLatitude
{
@ -265,7 +265,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The minimum Longitude this tile source supports.
/// Gets or sets the minimum Longitude this tile source supports.
/// </summary>
public double MinLongitude
{
@ -274,7 +274,7 @@ namespace Telerik.UI.Xaml.Controls.Map
}
/// <summary>
/// The maximum Longitude this tile source supports.
/// Gets or sets the maximum Longitude this tile source supports.
/// </summary>
public double MaxLongitude
{