- ok = new wxButton( this, wxID_OK, _("OK"), wxPoint(-1,y), wxSize(80,-1) );
- m_buttons.Append( ok );
+ 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);