Skip to content

Commit d21259d

Browse files
committed
prototype for tk
1 parent 53c8f9c commit d21259d

File tree

1 file changed

+26
-3
lines changed

1 file changed

+26
-3
lines changed

lib/matplotlib/backends/_backend_tk.py

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -346,11 +346,34 @@ def button_press_event(self, event, dblclick=False):
346346

347347
num = getattr(event, 'num', None)
348348
if sys.platform == 'darwin': # 2 and 3 are reversed.
349-
num = {2: 3, 3: 2}.get(num, num)
350-
MouseEvent("button_press_event", self,
349+
if num == 2:
350+
num = 3
351+
352+
mpl_event = MouseEvent("button_press_event", self,
351353
*self._event_mpl_coords(event), num, dblclick=dblclick,
352354
modifiers=self._mpl_modifiers(event),
353-
guiEvent=event)._process()
355+
guiEvent=event)
356+
357+
if num == 3:
358+
for ax in self.figure.axes:
359+
if ax.contains(mpl_event)[0] and ax.name == '3d':
360+
self.show_context_menu(event, ax)
361+
return
362+
mpl_event._process()
363+
364+
def show_context_menu(self, event, ax):
365+
menu = tk.Menu(tearoff=False)
366+
367+
def set_view(elev, azim):
368+
ax.view_init(azim=azim, elev=elev, roll=0)
369+
self.draw_idle()
370+
371+
menu.add_command(label="X-Y View", command=lambda: set_view(90,-90))
372+
menu.add_command(label="Y-Z View", command=lambda: set_view(0,0))
373+
menu.add_command(label="X-Z View", command=lambda: set_view(0,-90))
374+
375+
menu.post(event.x_root, event.y_root)
376+
354377

355378
def button_dblclick_event(self, event):
356379
self.button_press_event(event, dblclick=True)

0 commit comments

Comments
 (0)