Added wxSTOCK_FOR_BUTTON flag for wxGetStockLabel().
This allows to retrieve labels appropriate for the buttons and not menu items which currently means without trailing ellipsis. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -33,7 +33,11 @@ enum wxStockLabelQueryFlag
|
|||||||
wxSTOCK_NOFLAGS = 0,
|
wxSTOCK_NOFLAGS = 0,
|
||||||
|
|
||||||
wxSTOCK_WITH_MNEMONIC = 1,
|
wxSTOCK_WITH_MNEMONIC = 1,
|
||||||
wxSTOCK_WITH_ACCELERATOR = 2
|
wxSTOCK_WITH_ACCELERATOR = 2,
|
||||||
|
|
||||||
|
// return label for button, not menu item: notice that this always included
|
||||||
|
// wxSTOCK_WITH_MNEMONIC as buttons should use mnemonics
|
||||||
|
wxSTOCK_FOR_BUTTON = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
// Returns label that should be used for given stock UI element (e.g. "&OK"
|
// Returns label that should be used for given stock UI element (e.g. "&OK"
|
||||||
|
@@ -34,7 +34,19 @@ enum wxStockLabelQueryFlag
|
|||||||
E.g. "Print...\tCtrl-P". This can be combined with
|
E.g. "Print...\tCtrl-P". This can be combined with
|
||||||
wxSTOCK_WITH_MNEMONIC to get "&Print...\tCtrl-P".
|
wxSTOCK_WITH_MNEMONIC to get "&Print...\tCtrl-P".
|
||||||
*/
|
*/
|
||||||
wxSTOCK_WITH_ACCELERATOR = 2
|
wxSTOCK_WITH_ACCELERATOR = 2,
|
||||||
|
|
||||||
|
/**
|
||||||
|
Return the label appropriate for a button and not a menu item.
|
||||||
|
|
||||||
|
Currently the main difference is that the trailing ellipsis used in
|
||||||
|
some stock labels is never included in the returned label. Also, the
|
||||||
|
mnemonics is included if this flag is used. So the returned value for
|
||||||
|
wxID_PRINT when this flag is used is "&Print".
|
||||||
|
|
||||||
|
This flag can't be combined with wxSTOCK_WITH_ACCELERATOR.
|
||||||
|
*/
|
||||||
|
wxSTOCK_FOR_BUTTON = 5
|
||||||
};
|
};
|
||||||
|
|
||||||
/** @addtogroup group_funcmacro_misc */
|
/** @addtogroup group_funcmacro_misc */
|
||||||
|
@@ -205,6 +205,18 @@ wxString wxGetStockLabel(wxWindowID id, long flags)
|
|||||||
|
|
||||||
#undef STOCKITEM
|
#undef STOCKITEM
|
||||||
|
|
||||||
|
// we assume that buttons use the same labels as menu items but unlike them
|
||||||
|
// they should never use ellipsis
|
||||||
|
if ( flags & wxSTOCK_FOR_BUTTON )
|
||||||
|
{
|
||||||
|
wxString baseLabel;
|
||||||
|
if ( stockLabel.EndsWith("...", &baseLabel) )
|
||||||
|
stockLabel = baseLabel;
|
||||||
|
|
||||||
|
wxASSERT_MSG( !(flags & wxSTOCK_WITH_ACCELERATOR),
|
||||||
|
"button labels never use accelerators" );
|
||||||
|
}
|
||||||
|
|
||||||
if ( !(flags & wxSTOCK_WITH_MNEMONIC) )
|
if ( !(flags & wxSTOCK_WITH_MNEMONIC) )
|
||||||
{
|
{
|
||||||
stockLabel = wxStripMenuCodes(stockLabel);
|
stockLabel = wxStripMenuCodes(stockLabel);
|
||||||
|
Reference in New Issue
Block a user