@@ -172,7 +172,7 @@ def onselect(epress, erelease):
172
172
assert tool .extents == (xdata_new , extents [1 ], ydata_new , extents [3 ])
173
173
174
174
175
- def test_rectangle_add_default_state ():
175
+ def test_rectangle_add_state ():
176
176
ax = get_ax ()
177
177
178
178
def onselect (epress , erelease ):
@@ -183,18 +183,18 @@ def onselect(epress, erelease):
183
183
_resize_rectangle (tool , 70 , 65 , 125 , 130 )
184
184
185
185
with pytest .raises (ValueError ):
186
- tool .add_default_state ('unsupported_state' )
186
+ tool .add_state ('unsupported_state' )
187
187
188
188
with pytest .raises (ValueError ):
189
- tool .add_default_state ('clear' )
190
- tool .add_default_state ('move' )
191
- tool .add_default_state ('square' )
192
- tool .add_default_state ('center' )
193
- tool .add_default_state ('data_coordinates' )
189
+ tool .add_state ('clear' )
190
+ tool .add_state ('move' )
191
+ tool .add_state ('square' )
192
+ tool .add_state ('center' )
193
+ tool .add_state ('data_coordinates' )
194
194
195
195
196
- @pytest .mark .parametrize ('use_default_state ' , [True , False ])
197
- def test_rectangle_resize_center (use_default_state ):
196
+ @pytest .mark .parametrize ('add_state ' , [True , False ])
197
+ def test_rectangle_resize_center (add_state ):
198
198
ax = get_ax ()
199
199
200
200
def onselect (epress , erelease ):
@@ -205,8 +205,8 @@ def onselect(epress, erelease):
205
205
_resize_rectangle (tool , 70 , 65 , 125 , 130 )
206
206
assert tool .extents == (70.0 , 125.0 , 65.0 , 130.0 )
207
207
208
- if use_default_state :
209
- tool .add_default_state ('center' )
208
+ if add_state :
209
+ tool .add_state ('center' )
210
210
use_key = None
211
211
else :
212
212
use_key = 'control'
@@ -266,8 +266,8 @@ def onselect(epress, erelease):
266
266
ydata_new , extents [3 ] - ydiff )
267
267
268
268
269
- @pytest .mark .parametrize ('use_default_state ' , [True , False ])
270
- def test_rectangle_resize_square (use_default_state ):
269
+ @pytest .mark .parametrize ('add_state ' , [True , False ])
270
+ def test_rectangle_resize_square (add_state ):
271
271
ax = get_ax ()
272
272
273
273
def onselect (epress , erelease ):
@@ -278,8 +278,8 @@ def onselect(epress, erelease):
278
278
_resize_rectangle (tool , 70 , 65 , 120 , 115 )
279
279
assert tool .extents == (70.0 , 120.0 , 65.0 , 115.0 )
280
280
281
- if use_default_state :
282
- tool .add_default_state ('square' )
281
+ if add_state :
282
+ tool .add_state ('square' )
283
283
use_key = None
284
284
else :
285
285
use_key = 'shift'
@@ -348,8 +348,8 @@ def onselect(epress, erelease):
348
348
tool = widgets .RectangleSelector (ax , onselect , interactive = True )
349
349
# Create rectangle
350
350
_resize_rectangle (tool , 70 , 65 , 120 , 115 )
351
- tool .add_default_state ('square' )
352
- tool .add_default_state ('center' )
351
+ tool .add_state ('square' )
352
+ tool .add_state ('center' )
353
353
assert_allclose (tool .extents , (70.0 , 120.0 , 65.0 , 115.0 ))
354
354
355
355
# resize NE handle
@@ -421,18 +421,16 @@ def onselect(epress, erelease):
421
421
do_event (tool , 'onmove' , xdata = 130 , ydata = 140 )
422
422
do_event (tool , 'release' , xdata = 130 , ydata = 140 )
423
423
assert tool .extents == (100 , 130 , 100 , 140 )
424
- assert len (tool ._default_state ) == 0
425
424
assert len (tool ._state ) == 0
426
425
427
426
# Rotate anticlockwise using top-right corner
428
427
do_event (tool , 'on_key_press' , key = 'r' )
429
- assert tool ._default_state == set (['rotate' ])
430
- assert len (tool ._state ) == 0
428
+ assert tool ._state == set (['rotate' ])
429
+ assert len (tool ._state ) == 1
431
430
do_event (tool , 'press' , xdata = 130 , ydata = 140 )
432
431
do_event (tool , 'onmove' , xdata = 120 , ydata = 145 )
433
432
do_event (tool , 'release' , xdata = 120 , ydata = 145 )
434
433
do_event (tool , 'on_key_press' , key = 'r' )
435
- assert len (tool ._default_state ) == 0
436
434
assert len (tool ._state ) == 0
437
435
# Extents shouldn't change (as shape of rectangle hasn't changed)
438
436
assert tool .extents == (100 , 130 , 100 , 140 )
@@ -450,6 +448,30 @@ def onselect(epress, erelease):
450
448
do_event (tool , 'release' , xdata = 110 , ydata = 160 )
451
449
assert_allclose (tool .extents , (100 , 139.75 , 100 , 151.82 ), atol = 0.01 )
452
450
451
+ if selector_class == widgets .RectangleSelector :
452
+ with pytest .raises (ValueError ):
453
+ tool ._selection_artist .rotation_point = 'unvalid_value'
454
+
455
+
456
+ def test_rectange_add_remove_set ():
457
+ ax = get_ax ()
458
+
459
+ def onselect (epress , erelease ):
460
+ pass
461
+
462
+ tool = widgets .RectangleSelector (ax , onselect = onselect , interactive = True )
463
+ # Draw rectangle
464
+ do_event (tool , 'press' , xdata = 100 , ydata = 100 )
465
+ do_event (tool , 'onmove' , xdata = 130 , ydata = 140 )
466
+ do_event (tool , 'release' , xdata = 130 , ydata = 140 )
467
+ assert tool .extents == (100 , 130 , 100 , 140 )
468
+ assert len (tool ._state ) == 0
469
+ for state in ['rotate' , 'data_coordinates' , 'square' , 'center' ]:
470
+ tool .add_state (state )
471
+ assert len (tool ._state ) == 1
472
+ tool .remove_state (state )
473
+ assert len (tool ._state ) == 0
474
+
453
475
454
476
def test_rectangle_resize_square_center_aspect ():
455
477
ax = get_ax ()
@@ -461,8 +483,8 @@ def onselect(epress, erelease):
461
483
tool = widgets .RectangleSelector (ax , onselect , interactive = True )
462
484
# Create rectangle
463
485
_resize_rectangle (tool , 70 , 65 , 120 , 115 )
464
- tool .add_default_state ('square' )
465
- tool .add_default_state ('center' )
486
+ tool .add_state ('square' )
487
+ tool .add_state ('center' )
466
488
assert tool .extents == (70.0 , 120.0 , 65.0 , 115.0 )
467
489
468
490
# resize E handle
@@ -905,7 +927,7 @@ def onselect(*args):
905
927
assert tool .extents == (10 , 50 )
906
928
907
929
908
- def test_span_selector_add_default_state ():
930
+ def test_span_selector_add_state ():
909
931
ax = get_ax ()
910
932
911
933
def onselect (* args ):
@@ -914,13 +936,13 @@ def onselect(*args):
914
936
tool = widgets .SpanSelector (ax , onselect , 'horizontal' , interactive = True )
915
937
916
938
with pytest .raises (ValueError ):
917
- tool .add_default_state ('unsupported_state' )
939
+ tool .add_state ('unsupported_state' )
918
940
with pytest .raises (ValueError ):
919
- tool .add_default_state ('center' )
941
+ tool .add_state ('center' )
920
942
with pytest .raises (ValueError ):
921
- tool .add_default_state ('square' )
943
+ tool .add_state ('square' )
922
944
923
- tool .add_default_state ('move' )
945
+ tool .add_state ('move' )
924
946
925
947
926
948
def test_tool_line_handle ():
0 commit comments