Ejemplo n.º 1
0
wxSizer *wxGenericMessageDialog::CreateMsgDlgButtonSizer()
{
#ifndef __SMARTPHONE__
    if ( HasCustomLabels() )
    {
        wxStdDialogButtonSizer * const sizerStd = new wxStdDialogButtonSizer;

        wxButton *btnDef = NULL;

        if ( m_dialogStyle & wxOK )
        {
            btnDef = new wxButton(this, wxID_OK, GetCustomOKLabel());
            sizerStd->AddButton(btnDef);
        }

        if ( m_dialogStyle & wxCANCEL )
        {
            wxButton * const
                cancel = new wxButton(this, wxID_CANCEL, GetCustomCancelLabel());
            sizerStd->AddButton(cancel);

            if ( m_dialogStyle & wxCANCEL_DEFAULT )
                btnDef = cancel;
        }

        if ( m_dialogStyle & wxYES_NO )
        {
            wxButton * const
                yes = new wxButton(this, wxID_YES, GetCustomYesLabel());
            sizerStd->AddButton(yes);

            wxButton * const
                no = new wxButton(this, wxID_NO, GetCustomNoLabel());
            sizerStd->AddButton(no);
            if ( m_dialogStyle & wxNO_DEFAULT )
                btnDef = no;
            else if ( !btnDef )
                btnDef = yes;
        }

        if ( btnDef )
        {
            btnDef->SetDefault();
            btnDef->SetFocus();
        }

        sizerStd->Realize();

        return CreateSeparatedSizer(sizerStd);
    }
#endif // !__SMARTPHONE__

    // Use standard labels for all buttons
    return CreateSeparatedButtonSizer
           (
                m_dialogStyle & (wxOK | wxCANCEL | wxYES_NO |
                                 wxNO_DEFAULT | wxCANCEL_DEFAULT)
           );
}
Ejemplo n.º 2
0
wxSizer *wxDialogBase::CreateSeparatedButtonSizer(long flags)
{
    wxSizer *sizer = CreateButtonSizer(flags);
    if ( !sizer )
        return NULL;

    return CreateSeparatedSizer(sizer);
}