Commited FRM's stockitem patch (empty stock items).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -35,6 +35,7 @@ bool wxIsStockID(wxWindowID id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case wxID_ABOUT:
|
||||
case wxID_ADD:
|
||||
case wxID_APPLY:
|
||||
case wxID_BOLD:
|
||||
@@ -44,7 +45,9 @@ bool wxIsStockID(wxWindowID id)
|
||||
case wxID_COPY:
|
||||
case wxID_CUT:
|
||||
case wxID_DELETE:
|
||||
case wxID_EDIT:
|
||||
case wxID_FIND:
|
||||
case wxID_FILE:
|
||||
case wxID_REPLACE:
|
||||
case wxID_BACKWARD:
|
||||
case wxID_DOWN:
|
||||
@@ -75,6 +78,7 @@ bool wxIsStockID(wxWindowID id)
|
||||
case wxID_REVERT_TO_SAVED:
|
||||
case wxID_SAVE:
|
||||
case wxID_SAVEAS:
|
||||
case wxID_SELECTALL:
|
||||
case wxID_STOP:
|
||||
case wxID_UNDELETE:
|
||||
case wxID_UNDERLINE:
|
||||
@@ -92,7 +96,7 @@ bool wxIsStockID(wxWindowID id)
|
||||
}
|
||||
}
|
||||
|
||||
wxString wxGetStockLabel(wxWindowID id, bool withCodes, const wxString& accelerator)
|
||||
wxString wxGetStockLabel(wxWindowID id, long flags)
|
||||
{
|
||||
wxString stockLabel;
|
||||
|
||||
@@ -103,6 +107,7 @@ wxString wxGetStockLabel(wxWindowID id, bool withCodes, const wxString& accelera
|
||||
|
||||
switch (id)
|
||||
{
|
||||
STOCKITEM(wxID_ABOUT, _("&About"))
|
||||
STOCKITEM(wxID_ADD, _("Add"))
|
||||
STOCKITEM(wxID_APPLY, _("&Apply"))
|
||||
STOCKITEM(wxID_BOLD, _("&Bold"))
|
||||
@@ -112,7 +117,9 @@ wxString wxGetStockLabel(wxWindowID id, bool withCodes, const wxString& accelera
|
||||
STOCKITEM(wxID_COPY, _("&Copy"))
|
||||
STOCKITEM(wxID_CUT, _("Cu&t"))
|
||||
STOCKITEM(wxID_DELETE, _("&Delete"))
|
||||
STOCKITEM(wxID_EDIT, _("&Edit"))
|
||||
STOCKITEM(wxID_FIND, _("&Find"))
|
||||
STOCKITEM(wxID_FILE, _("&File"))
|
||||
STOCKITEM(wxID_REPLACE, _("Rep&lace"))
|
||||
STOCKITEM(wxID_BACKWARD, _("&Back"))
|
||||
STOCKITEM(wxID_DOWN, _("&Down"))
|
||||
@@ -143,6 +150,7 @@ wxString wxGetStockLabel(wxWindowID id, bool withCodes, const wxString& accelera
|
||||
STOCKITEM(wxID_REVERT_TO_SAVED, _("Revert to Saved"))
|
||||
STOCKITEM(wxID_SAVE, _("&Save"))
|
||||
STOCKITEM(wxID_SAVEAS, _("Save &As..."))
|
||||
STOCKITEM(wxID_SELECTALL, _("Select all"))
|
||||
STOCKITEM(wxID_STOP, _("&Stop"))
|
||||
STOCKITEM(wxID_UNDELETE, _("Undelete"))
|
||||
STOCKITEM(wxID_UNDERLINE, _("&Underline"))
|
||||
@@ -161,19 +169,57 @@ wxString wxGetStockLabel(wxWindowID id, bool withCodes, const wxString& accelera
|
||||
|
||||
#undef STOCKITEM
|
||||
|
||||
if(!withCodes)
|
||||
if(flags & wxSTOCK_WITH_MNEMONIC)
|
||||
{
|
||||
stockLabel = wxStripMenuCodes( stockLabel );
|
||||
}
|
||||
else if (!stockLabel.empty() && !accelerator.empty())
|
||||
|
||||
if (!stockLabel.empty() && (flags & wxSTOCK_WITH_ACCELERATOR))
|
||||
{
|
||||
stockLabel += _T("\t");
|
||||
stockLabel += accelerator;
|
||||
|
||||
wxAcceleratorEntry accel = wxGetStockAccelerator(id);
|
||||
if (accel.IsOk())
|
||||
stockLabel += accel.ToString();
|
||||
}
|
||||
|
||||
return stockLabel;
|
||||
}
|
||||
|
||||
wxAcceleratorEntry wxGetStockAccelerator(wxWindowID id)
|
||||
{
|
||||
wxAcceleratorEntry ret;
|
||||
|
||||
#define STOCKITEM(stockid, flags, keycode) \
|
||||
case stockid: \
|
||||
ret.Set(flags, keycode, stockid); \
|
||||
break;
|
||||
|
||||
switch (id)
|
||||
{
|
||||
STOCKITEM(wxID_COPY, wxACCEL_CTRL,'C')
|
||||
STOCKITEM(wxID_CUT, wxACCEL_CTRL,'X')
|
||||
STOCKITEM(wxID_FIND, wxACCEL_CTRL,'F')
|
||||
STOCKITEM(wxID_REPLACE, wxACCEL_CTRL,'R')
|
||||
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_SAVE, wxACCEL_CTRL,'S')
|
||||
|
||||
default:
|
||||
// set the wxAcceleratorEntry to return into an invalid state:
|
||||
// there's no stock accelerator for that.
|
||||
ret.Set(0, 0, id);
|
||||
break;
|
||||
};
|
||||
|
||||
#undef STOCKITEM
|
||||
|
||||
// always use wxAcceleratorEntry::IsOk on returned value !
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool wxIsStockLabel(wxWindowID id, const wxString& label)
|
||||
{
|
||||
if (label.empty())
|
||||
@@ -212,8 +258,22 @@ const char *wxGetStockGtkID(wxWindowID id)
|
||||
#define STOCKITEM_24(wx,gtk) STOCKITEM_MISSING(wx)
|
||||
#endif
|
||||
|
||||
#if GTK_CHECK_VERSION(2,6,0)
|
||||
#define STOCKITEM_26(wx,gtk) STOCKITEM(wx,gtk)
|
||||
#else
|
||||
#define STOCKITEM_26(wx,gtk) STOCKITEM_MISSING(wx)
|
||||
#endif
|
||||
|
||||
#if GTK_CHECK_VERSION(2,10,0)
|
||||
#define STOCKITEM_210(wx,gtk) STOCKITEM(wx,gtk)
|
||||
#else
|
||||
#define STOCKITEM_210(wx,gtk) STOCKITEM_MISSING(wx)
|
||||
#endif
|
||||
|
||||
|
||||
switch (id)
|
||||
{
|
||||
STOCKITEM_26(wxID_ABOUT, GTK_STOCK_ABOUT)
|
||||
STOCKITEM(wxID_ADD, GTK_STOCK_ADD)
|
||||
STOCKITEM(wxID_APPLY, GTK_STOCK_APPLY)
|
||||
STOCKITEM(wxID_BOLD, GTK_STOCK_BOLD)
|
||||
@@ -223,7 +283,9 @@ const char *wxGetStockGtkID(wxWindowID id)
|
||||
STOCKITEM(wxID_COPY, GTK_STOCK_COPY)
|
||||
STOCKITEM(wxID_CUT, GTK_STOCK_CUT)
|
||||
STOCKITEM(wxID_DELETE, GTK_STOCK_DELETE)
|
||||
STOCKITEM_26(wxID_EDIT, GTK_STOCK_EDIT)
|
||||
STOCKITEM(wxID_FIND, GTK_STOCK_FIND)
|
||||
STOCKITEM_26(wxID_FILE, GTK_STOCK_FILE)
|
||||
STOCKITEM(wxID_REPLACE, GTK_STOCK_FIND_AND_REPLACE)
|
||||
STOCKITEM(wxID_BACKWARD, GTK_STOCK_GO_BACK)
|
||||
STOCKITEM(wxID_DOWN, GTK_STOCK_GO_DOWN)
|
||||
@@ -254,6 +316,7 @@ const char *wxGetStockGtkID(wxWindowID id)
|
||||
STOCKITEM(wxID_REVERT_TO_SAVED, GTK_STOCK_REVERT_TO_SAVED)
|
||||
STOCKITEM(wxID_SAVE, GTK_STOCK_SAVE)
|
||||
STOCKITEM(wxID_SAVEAS, GTK_STOCK_SAVE_AS)
|
||||
STOCKITEM_210(wxID_SELECTALL, GTK_STOCK_SELECT_ALL)
|
||||
STOCKITEM(wxID_STOP, GTK_STOCK_STOP)
|
||||
STOCKITEM(wxID_UNDELETE, GTK_STOCK_UNDELETE)
|
||||
STOCKITEM(wxID_UNDERLINE, GTK_STOCK_UNDERLINE)
|
||||
@@ -275,4 +338,21 @@ const char *wxGetStockGtkID(wxWindowID id)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool wxGetStockGtkAccelerator(const char *id, GdkModifierType *mod, guint *key)
|
||||
{
|
||||
GtkStockItem stock_item;
|
||||
if (gtk_stock_lookup (id, &stock_item))
|
||||
{
|
||||
if (key) *key = stock_item.keyval;
|
||||
if (mod) *mod = stock_item.modifier;
|
||||
|
||||
// some GTK stock items have zero values for the keyval;
|
||||
// it means that they do not have an accelerator...
|
||||
if (stock_item.keyval)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif // __WXGTK20__
|
||||
|
||||
Reference in New Issue
Block a user