Author: bugman Date: Tue Aug 2 13:55:24 2011 New Revision: 14060 URL: http://svn.gna.org/viewcvs/relax?rev=14060&view=rev Log: The Question message dialog answer is now set to 'No' if the window close icon is clicked. Modified: branches/gui_testing/gui/message.py Modified: branches/gui_testing/gui/message.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/message.py?rev=14060&r1=14059&r2=14060&view=diff ============================================================================== --- branches/gui_testing/gui/message.py (original) +++ branches/gui_testing/gui/message.py Tue Aug 2 13:55:24 2011 @@ -176,14 +176,17 @@ @rtype: bool """ + # Initialise the base class. + wx.Dialog.__init__(self, parent, title=title, size=size, style=wx.DEFAULT_DIALOG_STYLE|wx.STAY_ON_TOP) + + # Flag to indicate that a button was pressed. + self.pressed = False + # The default. if default: self.answer = wx.ID_YES else: self.answer = wx.ID_NO - - # Initialise the base class. - wx.Dialog.__init__(self, parent, title=title, size=size, style=wx.DEFAULT_DIALOG_STYLE|wx.STAY_ON_TOP) # Set up the window icon. self.SetIcons(relax_icons) @@ -243,6 +246,9 @@ else: button_no.SetFocus() + # Bind some events. + self.Bind(wx.EVT_CLOSE, self.handler_close) + def ShowModal(self): """Replacement ShowModal method. @@ -259,6 +265,21 @@ return self.answer + def handler_close(self, event): + """Event handler for the close window action. + + @param event: The wx event. + @type event: wx event + """ + + # Set the answer to no. + if not self.pressed: + self.answer = wx.ID_NO + + # Continue the event. + event.Skip() + + def no(self, event): """No selection. @@ -266,6 +287,9 @@ @type event: wx event """ + # Button flag. + self.pressed = True + # Set the answer. self.answer = wx.ID_NO @@ -280,6 +304,9 @@ @type event: wx event """ + # Button flag. + self.pressed = True + # Set the answer. self.answer = wx.ID_YES