11using System ;
22using System . Windows . Forms ;
3- using MW5 . Api ;
43using MW5 . Api . Enums ;
54using MW5 . Api . Events ;
65using MW5 . Api . Interfaces ;
@@ -26,17 +25,11 @@ internal class MapListener
2625 public MapListener ( IAppContext context , IBroadcasterService broadcaster , ILayerService layerService ,
2726 ContextMenuPresenter contextMenuPresenter , IProjectService projectService )
2827 {
29- if ( context == null ) throw new ArgumentNullException ( "context" ) ;
30- if ( broadcaster == null ) throw new ArgumentNullException ( "broadcaster" ) ;
31- if ( layerService == null ) throw new ArgumentNullException ( "layerService" ) ;
32- if ( contextMenuPresenter == null ) throw new ArgumentNullException ( "contextMenuPresenter" ) ;
33- if ( projectService == null ) throw new ArgumentNullException ( "projectService" ) ;
34-
35- _context = context ;
36- _broadcaster = broadcaster ;
37- _layerService = layerService ;
38- _contextMenuPresenter = contextMenuPresenter ;
39- _projectService = projectService ;
28+ _context = context ?? throw new ArgumentNullException ( nameof ( context ) ) ;
29+ _broadcaster = broadcaster ?? throw new ArgumentNullException ( nameof ( broadcaster ) ) ;
30+ _layerService = layerService ?? throw new ArgumentNullException ( nameof ( layerService ) ) ;
31+ _contextMenuPresenter = contextMenuPresenter ?? throw new ArgumentNullException ( nameof ( contextMenuPresenter ) ) ;
32+ _projectService = projectService ?? throw new ArgumentNullException ( nameof ( projectService ) ) ;
4033
4134 _map = _context . Map as IMap ;
4235 if ( _map == null )
@@ -69,8 +62,7 @@ private void RegisterEvents()
6962 _map . ValidateShape += MapValidateShape ;
7063 _map . TmsProviderChanged += MapTmsProviderChanged ;
7164
72- var mapControl = ( _map as MapControl ) ;
73- if ( mapControl != null )
65+ if ( _map is MapControl mapControl )
7466 {
7567 mapControl . PreviewKeyDown += MapListener_PreviewKeyDown ;
7668 }
@@ -197,31 +189,26 @@ private void MapFileDropped(object sender, FileDroppedEventArgs e)
197189 }
198190
199191 _layerService . AddLayersFromFilename ( e . Filename ) ;
200- int handle = _layerService . LastLayerHandle ;
192+ var handle = _layerService . LastLayerHandle ;
201193 _map . ZoomToLayer ( handle ) ;
202194 }
203195
204196 private bool TryParseTmsProviderFromDroppedFilename ( string filename )
205197 {
206198 // expected format: "TmsProvider|" + Provider.Id (see RepositoryTreeView)
207- if ( filename . ToLower ( ) . StartsWith ( "tmsprovider" ) )
208- {
209- var parts = filename . Split ( '|' ) ;
210- if ( parts . Length == 2 )
211- {
212- int providerId ;
213- if ( Int32 . TryParse ( parts [ 1 ] , out providerId ) )
214- {
215- _map . SetTileProvider ( providerId ) ;
216- _map . Redraw ( RedrawType . Minimal , true ) ;
217- _context . View . Update ( ) ;
218- }
219- }
220-
221- return true ;
222- }
199+ if ( ! filename . ToLower ( ) . StartsWith ( "tmsprovider" ) ) return false ;
200+
201+ var parts = filename . Split ( '|' ) ;
202+ if ( parts . Length != 2 ) return false ;
203+
204+ if ( ! int . TryParse ( parts [ 1 ] , out var providerId ) ) return false ;
205+
206+ _map . SetTileProvider ( providerId ) ;
207+ _map . Redraw ( RedrawType . Minimal , true ) ;
208+ _context . View . Update ( ) ;
209+
210+ return true ;
223211
224- return false ;
225212 }
226213
227214 private void MapExtentsChanged ( object sender , EventArgs e )
@@ -246,8 +233,7 @@ private void MapListener_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e
246233
247234 private void ShowContextMenu ( int x , int y )
248235 {
249- var parent = _map as Control ;
250- if ( parent == null )
236+ if ( ! ( _map is Control parent ) )
251237 {
252238 return ;
253239 }
@@ -264,12 +250,35 @@ private void ShowContextMenu(int x, int y)
264250 case MapCursor . Pan :
265251 menu = _contextMenuPresenter . ZoomingMenu ;
266252 break ;
253+ case MapCursor . Selection :
254+ break ;
255+ case MapCursor . None :
256+ break ;
257+ case MapCursor . AddShape :
258+ break ;
259+ case MapCursor . EditShape :
260+ break ;
261+ case MapCursor . SplitByPolyline :
262+ break ;
263+ case MapCursor . Identify :
264+ break ;
265+ case MapCursor . MoveShapes :
266+ break ;
267+ case MapCursor . RotateShapes :
268+ break ;
269+ case MapCursor . SelectByPolygon :
270+ break ;
271+ case MapCursor . EraseByPolygon :
272+ break ;
273+ case MapCursor . SplitByPolygon :
274+ break ;
275+ case MapCursor . ClipByPolygon :
276+ break ;
277+ default :
278+ throw new ArgumentOutOfRangeException ( ) ;
267279 }
268280
269- if ( menu != null )
270- {
271- menu . Show ( parent , x , y ) ;
272- }
281+ menu ? . Show ( parent , x , y ) ;
273282 }
274283 }
275284}
0 commit comments