@@ -1789,11 +1789,15 @@ def __init__(self, ax, onselect, useblit=False, button=None,
17891789 self .validButtons = button
17901790
17911791 # will save the data (position at mouseclick)
1792- self .eventpress = None
1792+ self ._eventpress = None
17931793 # will save the data (pos. at mouserelease)
1794- self .eventrelease = None
1794+ self ._eventrelease = None
17951795 self ._prev_event = None
1796- self .state = set ()
1796+ self ._state = set ()
1797+
1798+ eventpress = _api .deprecate_privatize_attribute ("3.5" )
1799+ eventrelease = _api .deprecate_privatize_attribute ("3.5" )
1800+ state = _api .deprecate_privatize_attribute ("3.5" )
17971801
17981802 def set_active (self , active ):
17991803 super ().set_active (active )
@@ -1846,14 +1850,14 @@ def ignore(self, event):
18461850 return True
18471851 # If no button was pressed yet ignore the event if it was out
18481852 # of the axes
1849- if self .eventpress is None :
1853+ if self ._eventpress is None :
18501854 return event .inaxes != self .ax
18511855 # If a button was pressed, check if the release-button is the same.
1852- if event .button == self .eventpress .button :
1856+ if event .button == self ._eventpress .button :
18531857 return False
18541858 # If a button was pressed, check if the release-button is the same.
18551859 return (event .inaxes != self .ax or
1856- event .button != self .eventpress .button )
1860+ event .button != self ._eventpress .button )
18571861
18581862 def update (self ):
18591863 """Draw using blit() or draw_idle(), depending on ``self.useblit``."""
@@ -1899,13 +1903,13 @@ def press(self, event):
18991903 """Button press handler and validator."""
19001904 if not self .ignore (event ):
19011905 event = self ._clean_event (event )
1902- self .eventpress = event
1906+ self ._eventpress = event
19031907 self ._prev_event = event
19041908 key = event .key or ''
19051909 key = key .replace ('ctrl' , 'control' )
19061910 # move state is locked in on a button press
19071911 if key == self .state_modifier_keys ['move' ]:
1908- self .state .add ('move' )
1912+ self ._state .add ('move' )
19091913 self ._press (event )
19101914 return True
19111915 return False
@@ -1915,13 +1919,13 @@ def _press(self, event):
19151919
19161920 def release (self , event ):
19171921 """Button release event handler and validator."""
1918- if not self .ignore (event ) and self .eventpress :
1922+ if not self .ignore (event ) and self ._eventpress :
19191923 event = self ._clean_event (event )
1920- self .eventrelease = event
1924+ self ._eventrelease = event
19211925 self ._release (event )
1922- self .eventpress = None
1923- self .eventrelease = None
1924- self .state .discard ('move' )
1926+ self ._eventpress = None
1927+ self ._eventrelease = None
1928+ self ._state .discard ('move' )
19251929 return True
19261930 return False
19271931
@@ -1930,7 +1934,7 @@ def _release(self, event):
19301934
19311935 def onmove (self , event ):
19321936 """Cursor move event handler and validator."""
1933- if not self .ignore (event ) and self .eventpress :
1937+ if not self .ignore (event ) and self ._eventpress :
19341938 event = self ._clean_event (event )
19351939 self ._onmove (event )
19361940 return True
@@ -1959,7 +1963,7 @@ def on_key_press(self, event):
19591963 return
19601964 for (state , modifier ) in self .state_modifier_keys .items ():
19611965 if modifier in key :
1962- self .state .add (state )
1966+ self ._state .add (state )
19631967 self ._on_key_press (event )
19641968
19651969 def _on_key_press (self , event ):
@@ -1971,7 +1975,7 @@ def on_key_release(self, event):
19711975 key = event .key or ''
19721976 for (state , modifier ) in self .state_modifier_keys .items ():
19731977 if modifier in key :
1974- self .state .discard (state )
1978+ self ._state .discard (state )
19751979 self ._on_key_release (event )
19761980
19771981 def _on_key_release (self , event ):
@@ -2240,9 +2244,9 @@ def _onmove(self, event):
22402244
22412245 v = event .xdata if self .direction == 'horizontal' else event .ydata
22422246 if self .direction == 'horizontal' :
2243- vpress = self .eventpress .xdata
2247+ vpress = self ._eventpress .xdata
22442248 else :
2245- vpress = self .eventpress .ydata
2249+ vpress = self ._eventpress .ydata
22462250
22472251 # move existing span
22482252 # When "dragging from anywhere", `self._active_handle` is set to 'C'
@@ -2290,7 +2294,7 @@ def _set_active_handle(self, event):
22902294
22912295 # Prioritise center handle over other handles
22922296 # Use 'C' to match the notation used in the RectangleSelector
2293- if 'move' in self .state :
2297+ if 'move' in self ._state :
22942298 self ._active_handle = 'C'
22952299 elif e_dist > self .handle_grab_distance :
22962300 # Not close to any handles
@@ -2712,23 +2716,23 @@ def _release(self, event):
27122716
27132717 # update the eventpress and eventrelease with the resulting extents
27142718 x0 , x1 , y0 , y1 = self .extents
2715- self .eventpress .xdata = x0
2716- self .eventpress .ydata = y0
2719+ self ._eventpress .xdata = x0
2720+ self ._eventpress .ydata = y0
27172721 xy0 = self .ax .transData .transform ([x0 , y0 ])
2718- self .eventpress .x , self .eventpress .y = xy0
2722+ self ._eventpress .x , self ._eventpress .y = xy0
27192723
2720- self .eventrelease .xdata = x1
2721- self .eventrelease .ydata = y1
2724+ self ._eventrelease .xdata = x1
2725+ self ._eventrelease .ydata = y1
27222726 xy1 = self .ax .transData .transform ([x1 , y1 ])
2723- self .eventrelease .x , self .eventrelease .y = xy1
2727+ self ._eventrelease .x , self ._eventrelease .y = xy1
27242728
27252729 # calculate dimensions of box or line
27262730 if self .spancoords == 'data' :
2727- spanx = abs (self .eventpress .xdata - self .eventrelease .xdata )
2728- spany = abs (self .eventpress .ydata - self .eventrelease .ydata )
2731+ spanx = abs (self ._eventpress .xdata - self ._eventrelease .xdata )
2732+ spany = abs (self ._eventpress .ydata - self ._eventrelease .ydata )
27292733 elif self .spancoords == 'pixels' :
2730- spanx = abs (self .eventpress .x - self .eventrelease .x )
2731- spany = abs (self .eventpress .y - self .eventrelease .y )
2734+ spanx = abs (self ._eventpress .x - self ._eventrelease .x )
2735+ spany = abs (self ._eventpress .y - self ._eventrelease .y )
27322736 else :
27332737 _api .check_in_list (['data' , 'pixels' ],
27342738 spancoords = self .spancoords )
@@ -2743,7 +2747,7 @@ def _release(self, event):
27432747 return
27442748
27452749 # call desired function
2746- self .onselect (self .eventpress , self .eventrelease )
2750+ self .onselect (self ._eventpress , self ._eventrelease )
27472751 self .update ()
27482752
27492753 return False
@@ -2759,26 +2763,26 @@ def _onmove(self, event):
27592763 y1 = event .ydata
27602764
27612765 # move existing shape
2762- elif (('move' in self .state or self ._active_handle == 'C' or
2766+ elif (('move' in self ._state or self ._active_handle == 'C' or
27632767 (self .drag_from_anywhere and self ._contains (event ))) and
27642768 self ._extents_on_press is not None ):
27652769 x0 , x1 , y0 , y1 = self ._extents_on_press
2766- dx = event .xdata - self .eventpress .xdata
2767- dy = event .ydata - self .eventpress .ydata
2770+ dx = event .xdata - self ._eventpress .xdata
2771+ dy = event .ydata - self ._eventpress .ydata
27682772 x0 += dx
27692773 x1 += dx
27702774 y0 += dy
27712775 y1 += dy
27722776
27732777 # new shape
27742778 else :
2775- center = [self .eventpress .xdata , self .eventpress .ydata ]
2776- center_pix = [self .eventpress .x , self .eventpress .y ]
2779+ center = [self ._eventpress .xdata , self ._eventpress .ydata ]
2780+ center_pix = [self ._eventpress .x , self ._eventpress .y ]
27772781 dx = (event .xdata - center [0 ]) / 2.
27782782 dy = (event .ydata - center [1 ]) / 2.
27792783
27802784 # square shape
2781- if 'square' in self .state :
2785+ if 'square' in self ._state :
27822786 dx_pix = abs (event .x - center_pix [0 ])
27832787 dy_pix = abs (event .y - center_pix [1 ])
27842788 if not dx_pix :
@@ -2790,7 +2794,7 @@ def _onmove(self, event):
27902794 dy *= maxd / (abs (dy_pix ) + 1e-6 )
27912795
27922796 # from center
2793- if 'center' in self .state :
2797+ if 'center' in self ._state :
27942798 dx *= 2
27952799 dy *= 2
27962800
@@ -2891,7 +2895,7 @@ def _set_active_handle(self, event):
28912895 e_idx , e_dist = self ._edge_handles .closest (event .x , event .y )
28922896 m_idx , m_dist = self ._center_handle .closest (event .x , event .y )
28932897
2894- if 'move' in self .state :
2898+ if 'move' in self ._state :
28952899 self ._active_handle = 'C'
28962900 self ._extents_on_press = self .extents
28972901 # Set active handle as closest handle, if mouse click is close enough.
@@ -3204,7 +3208,7 @@ def _remove_vertex(self, i):
32043208 def _press (self , event ):
32053209 """Button press event handler."""
32063210 # Check for selection of a tool handle.
3207- if ((self ._polygon_completed or 'move_vertex' in self .state )
3211+ if ((self ._polygon_completed or 'move_vertex' in self ._state )
32083212 and len (self ._xs ) > 0 ):
32093213 h_idx , h_dist = self ._polygon_handles .closest (event .x , event .y )
32103214 if h_dist < self .vertex_select_radius :
@@ -3230,8 +3234,8 @@ def _release(self, event):
32303234
32313235 # Place new vertex.
32323236 elif (not self ._polygon_completed
3233- and 'move_all' not in self .state
3234- and 'move_vertex' not in self .state ):
3237+ and 'move_all' not in self ._state
3238+ and 'move_vertex' not in self ._state ):
32353239 self ._xs .insert (- 1 , event .xdata )
32363240 self ._ys .insert (- 1 , event .ydata )
32373241
@@ -3243,7 +3247,7 @@ def onmove(self, event):
32433247 # Method overrides _SelectorWidget.onmove because the polygon selector
32443248 # needs to process the move callback even if there is no button press.
32453249 # _SelectorWidget.onmove include logic to ignore move event if
3246- # eventpress is None.
3250+ # _eventpress is None.
32473251 if not self .ignore (event ):
32483252 event = self ._clean_event (event )
32493253 self ._onmove (event )
@@ -3262,16 +3266,16 @@ def _onmove(self, event):
32623266 self ._xs [- 1 ], self ._ys [- 1 ] = event .xdata , event .ydata
32633267
32643268 # Move all vertices.
3265- elif 'move_all' in self .state and self .eventpress :
3266- dx = event .xdata - self .eventpress .xdata
3267- dy = event .ydata - self .eventpress .ydata
3269+ elif 'move_all' in self ._state and self ._eventpress :
3270+ dx = event .xdata - self ._eventpress .xdata
3271+ dy = event .ydata - self ._eventpress .ydata
32683272 for k in range (len (self ._xs )):
32693273 self ._xs [k ] = self ._xs_at_press [k ] + dx
32703274 self ._ys [k ] = self ._ys_at_press [k ] + dy
32713275
32723276 # Do nothing if completed or waiting for a move.
32733277 elif (self ._polygon_completed
3274- or 'move_vertex' in self .state or 'move_all' in self .state ):
3278+ or 'move_vertex' in self ._state or 'move_all' in self ._state ):
32753279 return
32763280
32773281 # Position pending vertex.
@@ -3293,7 +3297,8 @@ def _on_key_press(self, event):
32933297 # Remove the pending vertex if entering the 'move_vertex' or
32943298 # 'move_all' mode
32953299 if (not self ._polygon_completed
3296- and ('move_vertex' in self .state or 'move_all' in self .state )):
3300+ and ('move_vertex' in self ._state or
3301+ 'move_all' in self ._state )):
32973302 self ._xs , self ._ys = self ._xs [:- 1 ], self ._ys [:- 1 ]
32983303 self ._draw_polygon ()
32993304
0 commit comments