Implememted IsBeingDeleted() -> buttons work again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
162b0c3bf5
commit
31c6b4fc10
@ -161,19 +161,16 @@ wxGenericMessageDialog::wxGenericMessageDialog( wxWindow *parent, const wxString
|
||||
|
||||
void wxGenericMessageDialog::OnYes(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
printf( "yes.\n" );
|
||||
EndModal( wxID_YES );
|
||||
}
|
||||
|
||||
void wxGenericMessageDialog::OnNo(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
printf( "no.\n" );
|
||||
EndModal( wxID_NO );
|
||||
}
|
||||
|
||||
void wxGenericMessageDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
printf( "cancel message.\n" );
|
||||
/* Allow cancellation via ESC/Close button except if
|
||||
only YES and NO are specified. */
|
||||
if ( (m_dialogStyle & wxYES_NO) != wxYES_NO || (m_dialogStyle & wxCANCEL) )
|
||||
|
@ -47,8 +47,6 @@ static void gtk_button_clicked_callback( GtkWidget *WXUNUSED(widget), wxButton *
|
||||
if (!button->m_hasVMT) return;
|
||||
if (g_blockEventsOnDrag) return;
|
||||
|
||||
printf( "clicked: %s.\n", button->GetLabel().c_str() );
|
||||
|
||||
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
|
||||
event.SetEventObject(button);
|
||||
button->GetEventHandler()->ProcessEvent(event);
|
||||
|
@ -245,6 +245,8 @@ bool wxDialog::Create( wxWindow *parent,
|
||||
|
||||
wxDialog::~wxDialog()
|
||||
{
|
||||
m_isBeingDeleted = TRUE;
|
||||
|
||||
wxTopLevelWindows.DeleteObject( this );
|
||||
|
||||
if (wxTheApp->GetTopWindow() == this)
|
||||
@ -290,18 +292,14 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
|
||||
|
||||
void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
|
||||
{
|
||||
printf( "OnOK 1.\n" );
|
||||
if (Validate() && TransferDataFromWindow())
|
||||
{
|
||||
printf( "OnOK 2.\n" );
|
||||
if (IsModal())
|
||||
{
|
||||
printf( "OnOK: modal.\n" );
|
||||
EndModal(wxID_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf( "OnOK: non-modal.\n" );
|
||||
SetReturnCode(wxID_OK);
|
||||
this->Show(FALSE);
|
||||
}
|
||||
|
@ -413,6 +413,8 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||
|
||||
wxFrame::~wxFrame()
|
||||
{
|
||||
m_isBeingDeleted = TRUE;
|
||||
|
||||
if (m_frameMenuBar) delete m_frameMenuBar;
|
||||
m_frameMenuBar = (wxMenuBar *) NULL;
|
||||
|
||||
|
@ -1453,6 +1453,7 @@ void wxWindow::Init()
|
||||
m_sizeSet = FALSE;
|
||||
m_hasVMT = FALSE;
|
||||
m_needParent = TRUE;
|
||||
m_isBeingDeleted = FALSE;
|
||||
|
||||
m_hasScrolling = FALSE;
|
||||
m_isScrolling = FALSE;
|
||||
@ -1633,6 +1634,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
|
||||
|
||||
wxWindow::~wxWindow()
|
||||
{
|
||||
m_isBeingDeleted = TRUE;
|
||||
m_hasVMT = FALSE;
|
||||
|
||||
if (m_widget)
|
||||
|
@ -47,8 +47,6 @@ static void gtk_button_clicked_callback( GtkWidget *WXUNUSED(widget), wxButton *
|
||||
if (!button->m_hasVMT) return;
|
||||
if (g_blockEventsOnDrag) return;
|
||||
|
||||
printf( "clicked: %s.\n", button->GetLabel().c_str() );
|
||||
|
||||
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, button->GetId());
|
||||
event.SetEventObject(button);
|
||||
button->GetEventHandler()->ProcessEvent(event);
|
||||
|
@ -245,6 +245,8 @@ bool wxDialog::Create( wxWindow *parent,
|
||||
|
||||
wxDialog::~wxDialog()
|
||||
{
|
||||
m_isBeingDeleted = TRUE;
|
||||
|
||||
wxTopLevelWindows.DeleteObject( this );
|
||||
|
||||
if (wxTheApp->GetTopWindow() == this)
|
||||
@ -290,18 +292,14 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
|
||||
|
||||
void wxDialog::OnOK( wxCommandEvent &WXUNUSED(event) )
|
||||
{
|
||||
printf( "OnOK 1.\n" );
|
||||
if (Validate() && TransferDataFromWindow())
|
||||
{
|
||||
printf( "OnOK 2.\n" );
|
||||
if (IsModal())
|
||||
{
|
||||
printf( "OnOK: modal.\n" );
|
||||
EndModal(wxID_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf( "OnOK: non-modal.\n" );
|
||||
SetReturnCode(wxID_OK);
|
||||
this->Show(FALSE);
|
||||
}
|
||||
|
@ -413,6 +413,8 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
|
||||
|
||||
wxFrame::~wxFrame()
|
||||
{
|
||||
m_isBeingDeleted = TRUE;
|
||||
|
||||
if (m_frameMenuBar) delete m_frameMenuBar;
|
||||
m_frameMenuBar = (wxMenuBar *) NULL;
|
||||
|
||||
|
@ -1453,6 +1453,7 @@ void wxWindow::Init()
|
||||
m_sizeSet = FALSE;
|
||||
m_hasVMT = FALSE;
|
||||
m_needParent = TRUE;
|
||||
m_isBeingDeleted = FALSE;
|
||||
|
||||
m_hasScrolling = FALSE;
|
||||
m_isScrolling = FALSE;
|
||||
@ -1633,6 +1634,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
|
||||
|
||||
wxWindow::~wxWindow()
|
||||
{
|
||||
m_isBeingDeleted = TRUE;
|
||||
m_hasVMT = FALSE;
|
||||
|
||||
if (m_widget)
|
||||
|
Loading…
Reference in New Issue
Block a user