Author: bugman Date: Sun Aug 7 15:37:37 2011 New Revision: 14237 URL: http://svn.gna.org/viewcvs/relax?rev=14237&view=rev Log: Clean up of the showing and hiding of spin viewer window. All observers and registered now in the Show() method and unregistered in handler_close(). Modified: branches/gui_testing/gui/relax_gui.py branches/gui_testing/gui/spin_viewer/frame.py Modified: branches/gui_testing/gui/relax_gui.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/relax_gui.py?rev=14237&r1=14236&r2=14237&view=diff ============================================================================== --- branches/gui_testing/gui/relax_gui.py (original) +++ branches/gui_testing/gui/relax_gui.py Sun Aug 7 15:37:37 2011 @@ -403,9 +403,8 @@ if not hasattr(self, 'spin_viewer'): self.spin_viewer = Spin_view_window(None, -1, "", parent=self) - # Open the window. - if status.show_gui: - self.spin_viewer.Show() + # Open the window (the GUI flag check is inside the Show method). + self.spin_viewer.Show() def state_load(self, event=None, file_name=None): Modified: branches/gui_testing/gui/spin_viewer/frame.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/spin_viewer/frame.py?rev=14237&r1=14236&r2=14237&view=diff ============================================================================== --- branches/gui_testing/gui/spin_viewer/frame.py (original) +++ branches/gui_testing/gui/spin_viewer/frame.py Sun Aug 7 15:37:37 2011 @@ -103,11 +103,8 @@ splitter = Tree_splitter(self.gui, self, -1) sizer.Add(splitter, 1, wx.EXPAND|wx.ALL, 0) - # Activate the frame. - self._activate() - - # Register functions with the observer objects. - status.observers.exec_lock.register('spin viewer', self._activate) + # Initialise observer name. + self.name = 'spin viewer' def _activate(self): @@ -225,19 +222,20 @@ @type show: bool """ - # Initialise observer name. - self.name = 'spin view refresh' - # Register a few methods in the observer objects. status.observers.gui_uf.register(self.name, self.refresh) status.observers.pipe_alteration.register(self.name, self.refresh) + status.observers.exec_lock.register(self.name, self._activate) # First update. self.refresh() - # Then show the window using the baseclass method. + # Activate or deactivate the frame. + self._activate() + + # Then show the window using the base class method. if status.show_gui: - wx.Frame.Show(self, show) + super(Spin_view_window, self).Show(show) def refresh(self, event=None): @@ -283,6 +281,7 @@ # Unregister the methods from the observers to avoid unnecessary updating. status.observers.gui_uf.unregister(self.name) status.observers.pipe_alteration.unregister(self.name) + status.observers.exec_lock.unregister(self.name) # Close the window. self.Hide()