@@ -758,10 +758,10 @@ def __init__(self, navigation):
758
758
Gtk .Box .__init__ (self )
759
759
self .set_property ("orientation" , Gtk .Orientation .VERTICAL )
760
760
761
- self ._toolbar = Gtk .Toolbar ()
762
- self ._toolbar . set_style ( Gtk .ToolbarStyle . ICONS )
763
- self .pack_start (self ._toolbar , False , False , 0 )
764
- self ._toolbar .show_all ()
761
+ self ._toolarea = Gtk .Box ()
762
+ self ._toolarea . set_property ( 'orientation' , Gtk .Orientation . HORIZONTAL )
763
+ self .pack_start (self ._toolarea , False , False , 0 )
764
+ self ._toolarea .show_all ()
765
765
self ._toolitems = {}
766
766
self ._signals = {}
767
767
self ._setup_message_area ()
@@ -784,12 +784,6 @@ def _setup_message_area(self):
784
784
785
785
def add_toolitem (self , name , group , position , image_file , description ,
786
786
toggle ):
787
- if group is None :
788
- return
789
-
790
- if group not in self ._groups and len (self ._groups ) != 0 :
791
- self .add_separator ()
792
-
793
787
if toggle :
794
788
tbutton = Gtk .ToggleToolButton ()
795
789
else :
@@ -801,17 +795,23 @@ def add_toolitem(self, name, group, position, image_file, description,
801
795
image .set_from_file (image_file )
802
796
tbutton .set_icon_widget (image )
803
797
804
- self ._toolbar .insert (tbutton , position )
798
+ # self._toolbar.insert(tbutton, position)
805
799
signal = tbutton .connect ('clicked' , self ._call_tool , name )
806
800
tbutton .set_tooltip_text (description )
807
801
tbutton .show_all ()
808
802
self ._toolitems [name ] = tbutton
809
803
self ._signals [name ] = signal
810
804
811
- def get_group_count (self , name ):
812
- index , group_count = ToolbarBase .get_group_count (self , name )
813
-
814
- return index + group_count , group_count
805
+ def add_tool_to_group (self , tool , group , position = - 1 ):
806
+ if not group in self ._groups :
807
+ if len (self ._groups ) != 0 :
808
+ self .add_separator ()
809
+ toolbar = Gtk .Toolbar ()
810
+ toolbar .set_style (Gtk .ToolbarStyle .ICONS )
811
+ self ._toolarea .pack_start (toolbar , False , False , 0 )
812
+ toolbar .show_all ()
813
+ self ._groups [group ] = toolbar
814
+ self ._groups [group ].insert (self ._toolitems [tool .name ], position )
815
815
816
816
def _call_tool (self , btn , name ):
817
817
self .trigger_tool (name )
@@ -832,14 +832,16 @@ def remove_toolitem(self, name):
832
832
if name not in self ._toolitems :
833
833
self .set_message ('%s Not in toolbar' % name )
834
834
return
835
- self ._toolbar .remove (self ._toolitems [name ])
835
+ for group in self ._groups :
836
+ if self ._toolitems [name ] in self ._groups [group ]:
837
+ self ._groups [group ].remove (self ._toolitems [name ])
836
838
del self ._toolitems [name ]
837
839
838
- def add_separator (self , pos = - 1 ):
839
- toolitem = Gtk .SeparatorToolItem ()
840
- self . _toolbar . insert ( toolitem , pos )
841
- toolitem . show ( )
842
- return toolitem
840
+ def add_separator (self ):
841
+ sep = Gtk .Separator ()
842
+ sep . set_property ( "orientation" , Gtk . Orientation . VERTICAL )
843
+ self . _toolarea . pack_start ( sep , False , True , 0 )
844
+ sep . show_all ()
843
845
844
846
845
847
class SaveFigureGTK3 (SaveFigureBase ):
0 commit comments