STOCKITEM(wxID_ZOOM_OUT, _("Zoom &Out"))
default:
- wxFAIL_MSG( _T("invalid stock item ID") );
+ wxFAIL_MSG( wxT("invalid stock item ID") );
break;
};
#undef STOCKITEM
+ if ( flags & wxSTOCK_WITHOUT_ELLIPSIS )
+ {
+ wxString baseLabel;
+ if ( stockLabel.EndsWith("...", &baseLabel) )
+ stockLabel = baseLabel;
+
+ // accelerators only make sense for the menu items which should have
+ // ellipsis too while wxSTOCK_WITHOUT_ELLIPSIS is mostly useful for
+ // buttons which shouldn't have accelerators in their labels
+ wxASSERT_MSG( !(flags & wxSTOCK_WITH_ACCELERATOR),
+ "labels without ellipsis shouldn't use accelerators" );
+ }
+
+#ifdef __WXMSW__
+ // special case: the "Cancel" button shouldn't have a mnemonic under MSW
+ // for consistency with the native dialogs (which don't use any mnemonic
+ // for it because it is already bound to Esc implicitly)
+ if ( id == wxID_CANCEL )
+ flags &= ~wxSTOCK_WITH_MNEMONIC;
+#endif // __WXMSW__
+
if ( !(flags & wxSTOCK_WITH_MNEMONIC) )
{
stockLabel = wxStripMenuCodes(stockLabel);
{
wxAcceleratorEntry accel = wxGetStockAccelerator(id);
if (accel.IsOk())
- stockLabel << _T('\t') << accel.ToString();
+ stockLabel << wxT('\t') << accel.ToString();
}
#endif // wxUSE_ACCEL
switch (id)
{
- STOCKITEM(wxID_COPY, wxACCEL_CTRL,'C')
- STOCKITEM(wxID_CUT, wxACCEL_CTRL,'X')
- STOCKITEM(wxID_FIND, wxACCEL_CTRL,'F')
- STOCKITEM(wxID_HELP, wxACCEL_CTRL,'H')
- STOCKITEM(wxID_NEW, wxACCEL_CTRL,'N')
- STOCKITEM(wxID_OPEN, wxACCEL_CTRL,'O')
- STOCKITEM(wxID_PASTE, wxACCEL_CTRL,'V')
- STOCKITEM(wxID_REDO, wxACCEL_CTRL | wxACCEL_SHIFT,'Z')
- STOCKITEM(wxID_REPLACE, wxACCEL_CTRL,'R')
- STOCKITEM(wxID_SAVE, wxACCEL_CTRL,'S')
- STOCKITEM(wxID_UNDO, wxACCEL_CTRL,'Z')
+ STOCKITEM(wxID_COPY, wxACCEL_CMD,'C')
+ STOCKITEM(wxID_CUT, wxACCEL_CMD,'X')
+ STOCKITEM(wxID_FIND, wxACCEL_CMD,'F')
+ STOCKITEM(wxID_HELP, wxACCEL_CMD,'H')
+ STOCKITEM(wxID_NEW, wxACCEL_CMD,'N')
+ STOCKITEM(wxID_OPEN, wxACCEL_CMD,'O')
+ STOCKITEM(wxID_PASTE, wxACCEL_CMD,'V')
+ STOCKITEM(wxID_REDO, wxACCEL_CMD | wxACCEL_SHIFT,'Z')
+ STOCKITEM(wxID_REPLACE, wxACCEL_CMD,'R')
+ STOCKITEM(wxID_SAVE, wxACCEL_CMD,'S')
+ STOCKITEM(wxID_UNDO, wxACCEL_CMD,'Z')
default:
// set the wxAcceleratorEntry to return into an invalid state:
if (label == stock)
return true;
- stock.Replace(_T("&"), wxEmptyString);
+ stock.Replace(wxT("&"), wxEmptyString);
if (label == stock)
return true;