@@ -3228,8 +3228,10 @@ class NavigationBase(object):
32283228 tools .ToolToggleYScale ,
32293229 tools .ToolHome , tools .ToolBack ,
32303230 tools .ToolForward ,
3231+ None ,
32313232 tools .ToolZoom ,
32323233 tools .ToolPan ,
3234+ None ,
32333235 'ConfigureSubplots' ,
32343236 'SaveFigure' ]
32353237
@@ -3266,7 +3268,11 @@ def __init__(self, canvas, toolbar=None):
32663268 self .canvaslock = self .canvas .widgetlock
32673269
32683270 for tool in self ._default_tools :
3269- self .add_tool (tool )
3271+ if tool is None :
3272+ if self .toolbar is not None :
3273+ self .toolbar .add_separator (- 1 )
3274+ else :
3275+ self .add_tool (tool )
32703276
32713277 self ._last_cursor = self ._default_cursor
32723278
@@ -3279,7 +3285,28 @@ def _get_toolbar(self, toolbar, canvas):
32793285 toolbar = None
32803286 return toolbar
32813287
3282- #remove persistent instances
3288+ def get_active (self ):
3289+ return {'toggled' : self ._toggled , 'instances' : self ._instances .keys ()}
3290+
3291+ def get_tool_keymap (self , name ):
3292+ keys = [k for k , i in self ._keys .items () if i == name ]
3293+ return keys
3294+
3295+ def set_tool_keymap (self , name , * keys ):
3296+ if name not in self ._tools :
3297+ raise AttributeError ('%s not in Tools' % name )
3298+
3299+ active_keys = [k for k , i in self ._keys .items () if i == name ]
3300+ for k in active_keys :
3301+ del self ._keys [k ]
3302+
3303+ for key in keys :
3304+ for k in validate_stringlist (key ):
3305+ if k in self ._keys :
3306+ warnings .warn ('Key %s changed from %s to %s' %
3307+ (k , self ._keys [k ], name ))
3308+ self ._keys [k ] = name
3309+
32833310 def unregister (self , name ):
32843311 if self ._toggled == name :
32853312 self ._handle_toggle (name , from_toolbar = False )
@@ -3310,6 +3337,9 @@ def add_tool(self, callback_class):
33103337 self ._tools [name ] = tool
33113338 if tool .keymap is not None :
33123339 for k in validate_stringlist (tool .keymap ):
3340+ if k in self ._keys :
3341+ warnings .warn ('Key %s changed from %s to %s' %
3342+ (k , self ._keys [k ], name ))
33133343 self ._keys [k ] = name
33143344
33153345 if self .toolbar and tool .position is not None :
@@ -3573,3 +3603,9 @@ def toggle(self, name, callback=False):
35733603
35743604 def remove_toolitem (self , name ):
35753605 pass
3606+
3607+ def move_toolitem (self , pos_ini , pos_fin ):
3608+ pass
3609+
3610+ def set_toolitem_visibility (self , name , visible ):
3611+ pass
0 commit comments