Projects/laydi
Projects
/
laydi
Archived
7
0
Fork 0

Toolbars now get automatically updated from the global mode setting when

the mouse enters a plot.
This commit is contained in:
Einar Ryeng 2006-10-12 18:33:38 +00:00
parent b1bfe1fe3e
commit f826931105
2 changed files with 15 additions and 2 deletions

View File

@ -99,6 +99,8 @@ class FluentApp:
def change_plots(self, plots): def change_plots(self, plots):
"""Changes all plots.""" """Changes all plots."""
self['main_view'].set_all_plots(plots) self['main_view'].set_all_plots(plots)
v = self.get_active_view_frame().get_view()
self._update_toolbar(v)
def get_active_view_frame(self): def get_active_view_frame(self):
return self['main_view'].get_active_view_frame() return self['main_view'].get_active_view_frame()

View File

@ -199,7 +199,13 @@ class MainView (gtk.Notebook):
if vf.focused: if vf.focused:
return vf return vf
return None return None
def get_active_view_frame(self):
if self.get_current_page() == 0:
return self.get_active_small_view()
else:
return self._large_view
def goto_large(self): def goto_large(self):
if self.get_current_page() == 1: if self.get_current_page() == 1:
return return
@ -953,7 +959,7 @@ class PlotToolbar(gtk.Toolbar):
self.set_property('show-arrow', False) self.set_property('show-arrow', False)
#canvas.connect('enter-notify-event', self.on_enter_notify) self.canvas.connect('enter-notify-event', self.on_enter_notify)
self.show() self.show()
self.add_mode(DefaultPlotMode(self.plot)) self.add_mode(DefaultPlotMode(self.plot))
self.add_mode(PanPlotMode(self.plot)) self.add_mode(PanPlotMode(self.plot))
@ -1032,6 +1038,8 @@ class PlotToolbar(gtk.Toolbar):
if self.get_button(mode_name) and \ if self.get_button(mode_name) and \
not self.get_button(mode_name).get_active(): not self.get_button(mode_name).get_active():
self.get_button(mode_name).set_active(True) self.get_button(mode_name).set_active(True)
globals()['active_mode'] = mode_name
return self._current_mode return self._current_mode
@ -1042,6 +1050,9 @@ class PlotToolbar(gtk.Toolbar):
def _on_freeze_toggle(self, button): def _on_freeze_toggle(self, button):
self.plot.set_frozen(button.get_active()) self.plot.set_frozen(button.get_active())
def on_enter_notify(self, widget, event):
self.set_mode(active_mode)
# Create a view-changed signal that should be emitted every time # Create a view-changed signal that should be emitted every time
# the active view changes. # the active view changes.