@@ -438,9 +438,9 @@ class OWPlotGUI:
438438
439439 JITTER_SIZES = [0 , 0.1 , 0.5 , 1 , 2 , 3 , 4 , 5 , 7 , 10 ]
440440
441-
442- def __init__ ( self , plot ):
443- self ._plot = plot
441+ def __init__ ( self , master ):
442+ self . _master = master
443+ self ._plot = master . graph
444444 self .color_model = DomainModel (
445445 placeholder = "(Same color)" , valid_types = DomainModel .PRIMITIVE )
446446 self .shape_model = DomainModel (
@@ -599,17 +599,17 @@ def show_legend_check_box(self, widget):
599599
600600 def tooltip_shows_all_check_box (self , widget ):
601601 gui .checkBox (
602- widget = widget , master = self ._plot . master , value = "tooltip_shows_all" ,
602+ widget = widget , master = self ._master , value = "tooltip_shows_all" ,
603603 label = 'Show all data on mouse hover' )
604604
605605 def class_density_check_box (self , widget ):
606- self ._plot . master .cb_class_density = \
606+ self ._master .cb_class_density = \
607607 self ._check_box (widget = widget , value = "class_density" ,
608608 label = "Show color regions" ,
609609 cb_name = self ._plot .update_density )
610610
611611 def regression_line_check_box (self , widget ):
612- self ._plot . master .cb_reg_line = \
612+ self ._master .cb_reg_line = \
613613 self ._check_box (widget = widget , value = "show_reg_line" ,
614614 label = "Show regression line" ,
615615 cb_name = self ._plot .update_regression_line )
@@ -651,7 +651,7 @@ def _slider(self, widget, value, label, min_value, max_value, step, cb_name,
651651 widget , gui .hSlider , label ,
652652 master = self ._plot , value = value , minValue = min_value ,
653653 maxValue = max_value , step = step , createLabel = show_number ,
654- callback = self ._get_callback (cb_name , self ._plot . master ))
654+ callback = self ._get_callback (cb_name , self ._master ))
655655
656656 def point_size_slider (self , widget , label = "Symbol size: " ):
657657 '''
@@ -668,8 +668,8 @@ def alpha_value_slider(self, widget, label="Opacity: "):
668668 def _combo (self , widget , value , label , cb_name , items = (), model = None ):
669669 return self .add_control (
670670 widget , gui .comboBox , label ,
671- master = self ._plot . master , value = value , items = items , model = model ,
672- callback = self ._get_callback (cb_name , self ._plot . master ),
671+ master = self ._master , value = value , items = items , model = model ,
672+ callback = self ._get_callback (cb_name , self ._master ),
673673 orientation = Qt .Horizontal , valueType = str ,
674674 sendSelectedValue = True , contentsLength = 12 ,
675675 labelWidth = 50 )
@@ -885,3 +885,19 @@ def theme_combo_box(self, widget):
885885 c .addItem ('Light' )
886886 c .addItem ('Dark' )
887887 return c
888+
889+ def box_zoom_select (self , parent ):
890+ box_zoom_select = gui .vBox (parent , "Zoom/Select" )
891+ zoom_select_toolbar = self .zoom_select_toolbar (
892+ box_zoom_select , nomargin = True ,
893+ buttons = [self .StateButtonsBegin ,
894+ self .SimpleSelect , self .Pan , self .Zoom ,
895+ self .StateButtonsEnd ,
896+ self .ZoomReset ]
897+ )
898+ buttons = zoom_select_toolbar .buttons
899+ buttons [self .Zoom ].clicked .connect (self ._plot .zoom_button_clicked )
900+ buttons [self .Pan ].clicked .connect (self ._plot .pan_button_clicked )
901+ buttons [self .SimpleSelect ].clicked .connect (self ._plot .select_button_clicked )
902+ buttons [self .ZoomReset ].clicked .connect (self ._plot .reset_button_clicked )
903+ return box_zoom_select
0 commit comments