diff --git a/Makefile.in b/Makefile.in index 1bb35de7ee..4b0c2dd420 100644 --- a/Makefile.in +++ b/Makefile.in @@ -3820,7 +3820,6 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \ wx/anidecod.h \ wx/animdecod.h \ wx/appprogress.h \ - wx/artids.h \ wx/artprov.h \ wx/bitmap.h \ wx/bookctrl.h \ diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 03af3f1767..b5c240db5f 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -1131,7 +1131,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/anidecod.h wx/animdecod.h wx/appprogress.h - wx/artids.h wx/artprov.h wx/bitmap.h wx/bookctrl.h diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index 01e540ee82..f3db68b0bd 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -1039,7 +1039,6 @@ set(GUI_CMN_HDR wx/anidecod.h wx/animdecod.h wx/appprogress.h - wx/artids.h wx/artprov.h wx/bitmap.h wx/bookctrl.h diff --git a/build/files b/build/files index 45114b2546..759ab54db1 100644 --- a/build/files +++ b/build/files @@ -936,7 +936,6 @@ GUI_CMN_HDR = wx/animdecod.h wx/anybutton.h wx/appprogress.h - wx/artids.h wx/artprov.h wx/bannerwindow.h wx/bitmap.h diff --git a/build/msw/wx_core.vcxproj b/build/msw/wx_core.vcxproj index aaf22c2c52..8089f36d7b 100644 --- a/build/msw/wx_core.vcxproj +++ b/build/msw/wx_core.vcxproj @@ -1502,7 +1502,6 @@ - diff --git a/build/msw/wx_core.vcxproj.filters b/build/msw/wx_core.vcxproj.filters index 56115e13ee..83c265118a 100644 --- a/build/msw/wx_core.vcxproj.filters +++ b/build/msw/wx_core.vcxproj.filters @@ -1108,9 +1108,6 @@ Common Headers - - Common Headers - Common Headers diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index 9c89c30fce..ad378068ce 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -2081,9 +2081,6 @@ - - diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj index 5dc5a817f8..e956ab6df8 100644 --- a/build/msw/wx_vc8_core.vcproj +++ b/build/msw/wx_vc8_core.vcproj @@ -3276,10 +3276,6 @@ RelativePath="..\..\include\wx\ribbon\art_internal.h" > - - diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index fe86df8893..a6d3ec7b1d 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -3272,10 +3272,6 @@ RelativePath="..\..\include\wx\ribbon\art_internal.h" > - - diff --git a/include/wx/artids.h b/include/wx/artids.h deleted file mode 100644 index 5d5db302c0..0000000000 --- a/include/wx/artids.h +++ /dev/null @@ -1,94 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// Name: wx/artids.h -// Purpose: wxArtProvider client and art IDs -// Author: Stefan Brüns -// Created: 2020-07-31 (extracted from artprov.h) -// Copyright: (c) Stefan Brüns -// Licence: wxWindows licence -///////////////////////////////////////////////////////////////////////////// - -// This file deliberately omits include guards so it can -// be included and processed multiple times - -// ---------------------------------------------------------------------------- -// Art clients -// ---------------------------------------------------------------------------- - -wxART_MAKE_CLIENT_ID(wxART_TOOLBAR) -wxART_MAKE_CLIENT_ID(wxART_MENU) -wxART_MAKE_CLIENT_ID(wxART_FRAME_ICON) - -wxART_MAKE_CLIENT_ID(wxART_CMN_DIALOG) -wxART_MAKE_CLIENT_ID(wxART_HELP_BROWSER) -wxART_MAKE_CLIENT_ID(wxART_MESSAGE_BOX) -wxART_MAKE_CLIENT_ID(wxART_BUTTON) -wxART_MAKE_CLIENT_ID(wxART_LIST) - -wxART_MAKE_CLIENT_ID(wxART_OTHER) - -// ---------------------------------------------------------------------------- -// Art IDs -// ---------------------------------------------------------------------------- - -wxART_MAKE_ART_ID(wxART_ADD_BOOKMARK) -wxART_MAKE_ART_ID(wxART_DEL_BOOKMARK) -wxART_MAKE_ART_ID(wxART_HELP_SIDE_PANEL) -wxART_MAKE_ART_ID(wxART_HELP_SETTINGS) -wxART_MAKE_ART_ID(wxART_HELP_BOOK) -wxART_MAKE_ART_ID(wxART_HELP_FOLDER) -wxART_MAKE_ART_ID(wxART_HELP_PAGE) -wxART_MAKE_ART_ID(wxART_GO_BACK) -wxART_MAKE_ART_ID(wxART_GO_FORWARD) -wxART_MAKE_ART_ID(wxART_GO_UP) -wxART_MAKE_ART_ID(wxART_GO_DOWN) -wxART_MAKE_ART_ID(wxART_GO_TO_PARENT) -wxART_MAKE_ART_ID(wxART_GO_HOME) -wxART_MAKE_ART_ID(wxART_GOTO_FIRST) -wxART_MAKE_ART_ID(wxART_GOTO_LAST) -wxART_MAKE_ART_ID(wxART_FILE_OPEN) -wxART_MAKE_ART_ID(wxART_FILE_SAVE) -wxART_MAKE_ART_ID(wxART_FILE_SAVE_AS) -wxART_MAKE_ART_ID(wxART_PRINT) -wxART_MAKE_ART_ID(wxART_HELP) -wxART_MAKE_ART_ID(wxART_TIP) -wxART_MAKE_ART_ID(wxART_REPORT_VIEW) -wxART_MAKE_ART_ID(wxART_LIST_VIEW) -wxART_MAKE_ART_ID(wxART_NEW_DIR) -wxART_MAKE_ART_ID(wxART_HARDDISK) -wxART_MAKE_ART_ID(wxART_FLOPPY) -wxART_MAKE_ART_ID(wxART_CDROM) -wxART_MAKE_ART_ID(wxART_REMOVABLE) -wxART_MAKE_ART_ID(wxART_FOLDER) -wxART_MAKE_ART_ID(wxART_FOLDER_OPEN) -wxART_MAKE_ART_ID(wxART_GO_DIR_UP) -wxART_MAKE_ART_ID(wxART_EXECUTABLE_FILE) -wxART_MAKE_ART_ID(wxART_NORMAL_FILE) -wxART_MAKE_ART_ID(wxART_TICK_MARK) -wxART_MAKE_ART_ID(wxART_CROSS_MARK) -wxART_MAKE_ART_ID(wxART_ERROR) -wxART_MAKE_ART_ID(wxART_QUESTION) -wxART_MAKE_ART_ID(wxART_WARNING) -wxART_MAKE_ART_ID(wxART_INFORMATION) -wxART_MAKE_ART_ID(wxART_MISSING_IMAGE) - -wxART_MAKE_ART_ID(wxART_COPY) -wxART_MAKE_ART_ID(wxART_CUT) -wxART_MAKE_ART_ID(wxART_PASTE) -wxART_MAKE_ART_ID(wxART_DELETE) -wxART_MAKE_ART_ID(wxART_NEW) - -wxART_MAKE_ART_ID(wxART_UNDO) -wxART_MAKE_ART_ID(wxART_REDO) - -wxART_MAKE_ART_ID(wxART_PLUS) -wxART_MAKE_ART_ID(wxART_MINUS) - -wxART_MAKE_ART_ID(wxART_CLOSE) -wxART_MAKE_ART_ID(wxART_QUIT) - -wxART_MAKE_ART_ID(wxART_FIND) -wxART_MAKE_ART_ID(wxART_FIND_AND_REPLACE) - -wxART_MAKE_ART_ID(wxART_FULL_SCREEN) - -wxART_MAKE_ART_ID(wxART_EDIT) diff --git a/include/wx/artprov.h b/include/wx/artprov.h index 0746af3808..6dd2850a82 100644 --- a/include/wx/artprov.h +++ b/include/wx/artprov.h @@ -28,16 +28,92 @@ typedef wxString wxArtClient; typedef wxString wxArtID; #define wxART_MAKE_CLIENT_ID_FROM_STR(id) ((id) + wxASCII_STR("_C")) +#define wxART_MAKE_CLIENT_ID(id) (#id "_C") #define wxART_MAKE_ART_ID_FROM_STR(id) (id) +#define wxART_MAKE_ART_ID(id) (#id) -#define wxART_MAKE_CLIENT_ID(id) \ - extern WXDLLIMPEXP_DATA_CORE(const wxArtClient) id; -#define wxART_MAKE_ART_ID(id) \ - extern WXDLLIMPEXP_DATA_CORE(const wxArtID) id; +// ---------------------------------------------------------------------------- +// Art clients +// ---------------------------------------------------------------------------- -#include "wx/artids.h" -#undef wxART_MAKE_ART_ID -#undef wxART_MAKE_CLIENT_ID +#define wxART_TOOLBAR wxART_MAKE_CLIENT_ID(wxART_TOOLBAR) +#define wxART_MENU wxART_MAKE_CLIENT_ID(wxART_MENU) +#define wxART_FRAME_ICON wxART_MAKE_CLIENT_ID(wxART_FRAME_ICON) + +#define wxART_CMN_DIALOG wxART_MAKE_CLIENT_ID(wxART_CMN_DIALOG) +#define wxART_HELP_BROWSER wxART_MAKE_CLIENT_ID(wxART_HELP_BROWSER) +#define wxART_MESSAGE_BOX wxART_MAKE_CLIENT_ID(wxART_MESSAGE_BOX) +#define wxART_BUTTON wxART_MAKE_CLIENT_ID(wxART_BUTTON) +#define wxART_LIST wxART_MAKE_CLIENT_ID(wxART_LIST) + +#define wxART_OTHER wxART_MAKE_CLIENT_ID(wxART_OTHER) + +// ---------------------------------------------------------------------------- +// Art IDs +// ---------------------------------------------------------------------------- + +#define wxART_ADD_BOOKMARK wxART_MAKE_ART_ID(wxART_ADD_BOOKMARK) +#define wxART_DEL_BOOKMARK wxART_MAKE_ART_ID(wxART_DEL_BOOKMARK) +#define wxART_HELP_SIDE_PANEL wxART_MAKE_ART_ID(wxART_HELP_SIDE_PANEL) +#define wxART_HELP_SETTINGS wxART_MAKE_ART_ID(wxART_HELP_SETTINGS) +#define wxART_HELP_BOOK wxART_MAKE_ART_ID(wxART_HELP_BOOK) +#define wxART_HELP_FOLDER wxART_MAKE_ART_ID(wxART_HELP_FOLDER) +#define wxART_HELP_PAGE wxART_MAKE_ART_ID(wxART_HELP_PAGE) +#define wxART_GO_BACK wxART_MAKE_ART_ID(wxART_GO_BACK) +#define wxART_GO_FORWARD wxART_MAKE_ART_ID(wxART_GO_FORWARD) +#define wxART_GO_UP wxART_MAKE_ART_ID(wxART_GO_UP) +#define wxART_GO_DOWN wxART_MAKE_ART_ID(wxART_GO_DOWN) +#define wxART_GO_TO_PARENT wxART_MAKE_ART_ID(wxART_GO_TO_PARENT) +#define wxART_GO_HOME wxART_MAKE_ART_ID(wxART_GO_HOME) +#define wxART_GOTO_FIRST wxART_MAKE_ART_ID(wxART_GOTO_FIRST) +#define wxART_GOTO_LAST wxART_MAKE_ART_ID(wxART_GOTO_LAST) +#define wxART_FILE_OPEN wxART_MAKE_ART_ID(wxART_FILE_OPEN) +#define wxART_FILE_SAVE wxART_MAKE_ART_ID(wxART_FILE_SAVE) +#define wxART_FILE_SAVE_AS wxART_MAKE_ART_ID(wxART_FILE_SAVE_AS) +#define wxART_PRINT wxART_MAKE_ART_ID(wxART_PRINT) +#define wxART_HELP wxART_MAKE_ART_ID(wxART_HELP) +#define wxART_TIP wxART_MAKE_ART_ID(wxART_TIP) +#define wxART_REPORT_VIEW wxART_MAKE_ART_ID(wxART_REPORT_VIEW) +#define wxART_LIST_VIEW wxART_MAKE_ART_ID(wxART_LIST_VIEW) +#define wxART_NEW_DIR wxART_MAKE_ART_ID(wxART_NEW_DIR) +#define wxART_HARDDISK wxART_MAKE_ART_ID(wxART_HARDDISK) +#define wxART_FLOPPY wxART_MAKE_ART_ID(wxART_FLOPPY) +#define wxART_CDROM wxART_MAKE_ART_ID(wxART_CDROM) +#define wxART_REMOVABLE wxART_MAKE_ART_ID(wxART_REMOVABLE) +#define wxART_FOLDER wxART_MAKE_ART_ID(wxART_FOLDER) +#define wxART_FOLDER_OPEN wxART_MAKE_ART_ID(wxART_FOLDER_OPEN) +#define wxART_GO_DIR_UP wxART_MAKE_ART_ID(wxART_GO_DIR_UP) +#define wxART_EXECUTABLE_FILE wxART_MAKE_ART_ID(wxART_EXECUTABLE_FILE) +#define wxART_NORMAL_FILE wxART_MAKE_ART_ID(wxART_NORMAL_FILE) +#define wxART_TICK_MARK wxART_MAKE_ART_ID(wxART_TICK_MARK) +#define wxART_CROSS_MARK wxART_MAKE_ART_ID(wxART_CROSS_MARK) +#define wxART_ERROR wxART_MAKE_ART_ID(wxART_ERROR) +#define wxART_QUESTION wxART_MAKE_ART_ID(wxART_QUESTION) +#define wxART_WARNING wxART_MAKE_ART_ID(wxART_WARNING) +#define wxART_INFORMATION wxART_MAKE_ART_ID(wxART_INFORMATION) +#define wxART_MISSING_IMAGE wxART_MAKE_ART_ID(wxART_MISSING_IMAGE) + +#define wxART_COPY wxART_MAKE_ART_ID(wxART_COPY) +#define wxART_CUT wxART_MAKE_ART_ID(wxART_CUT) +#define wxART_PASTE wxART_MAKE_ART_ID(wxART_PASTE) +#define wxART_DELETE wxART_MAKE_ART_ID(wxART_DELETE) +#define wxART_NEW wxART_MAKE_ART_ID(wxART_NEW) + +#define wxART_UNDO wxART_MAKE_ART_ID(wxART_UNDO) +#define wxART_REDO wxART_MAKE_ART_ID(wxART_REDO) + +#define wxART_PLUS wxART_MAKE_ART_ID(wxART_PLUS) +#define wxART_MINUS wxART_MAKE_ART_ID(wxART_MINUS) + +#define wxART_CLOSE wxART_MAKE_ART_ID(wxART_CLOSE) +#define wxART_QUIT wxART_MAKE_ART_ID(wxART_QUIT) + +#define wxART_FIND wxART_MAKE_ART_ID(wxART_FIND) +#define wxART_FIND_AND_REPLACE wxART_MAKE_ART_ID(wxART_FIND_AND_REPLACE) + +#define wxART_FULL_SCREEN wxART_MAKE_ART_ID(wxART_FULL_SCREEN) + +#define wxART_EDIT wxART_MAKE_ART_ID(wxART_EDIT) // ---------------------------------------------------------------------------- // wxArtProvider class @@ -78,13 +154,13 @@ public: // Query the providers for bitmap with given ID and return it. Return // wxNullBitmap if no provider provides it. static wxBitmap GetBitmap(const wxArtID& id, - const wxArtClient& client = wxART_OTHER, + const wxArtClient& client = wxASCII_STR(wxART_OTHER), const wxSize& size = wxDefaultSize); // Query the providers for icon with given ID and return it. Return // wxNullIcon if no provider provides it. static wxIcon GetIcon(const wxArtID& id, - const wxArtClient& client = wxART_OTHER, + const wxArtClient& client = wxASCII_STR(wxART_OTHER), const wxSize& size = wxDefaultSize); // Helper used by GetMessageBoxIcon(): return the art id corresponding to @@ -97,13 +173,13 @@ public: // can be set) static wxIcon GetMessageBoxIcon(int flags) { - return GetIcon(GetMessageBoxIconId(flags), wxART_MESSAGE_BOX); + return GetIcon(GetMessageBoxIconId(flags), wxASCII_STR(wxART_MESSAGE_BOX)); } // Query the providers for iconbundle with given ID and return it. Return // wxNullIconBundle if no provider provides it. static wxIconBundle GetIconBundle(const wxArtID& id, - const wxArtClient& client = wxART_OTHER); + const wxArtClient& client = wxASCII_STR(wxART_OTHER)); // Gets native size for given 'client' or wxDefaultSize if it doesn't // have native equivalent diff --git a/include/wx/xrc/xmlres.h b/include/wx/xrc/xmlres.h index 8b4710b676..6507afe6d9 100644 --- a/include/wx/xrc/xmlres.h +++ b/include/wx/xrc/xmlres.h @@ -565,27 +565,27 @@ public: // Gets a bitmap. wxBitmap GetBitmap(const wxString& param = wxT("bitmap"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) wxOVERRIDE; // Gets a bitmap from an XmlNode. wxBitmap GetBitmap(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) wxOVERRIDE; // Gets an icon. wxIcon GetIcon(const wxString& param = wxT("icon"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) wxOVERRIDE; // Gets an icon from an XmlNode. wxIcon GetIcon(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) wxOVERRIDE; // Gets an icon bundle. wxIconBundle GetIconBundle(const wxString& param, - const wxArtClient& defaultArtClient = wxART_OTHER) wxOVERRIDE; + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER)) wxOVERRIDE; // Gets an image list. wxImageList *GetImageList(const wxString& param = wxT("imagelist")) wxOVERRIDE; diff --git a/include/wx/xrc/xmlreshandler.h b/include/wx/xrc/xmlreshandler.h index b478356d6d..7f132b99a9 100644 --- a/include/wx/xrc/xmlreshandler.h +++ b/include/wx/xrc/xmlreshandler.h @@ -85,19 +85,19 @@ public: virtual wxSize GetPairInts(const wxString& param) = 0; virtual wxDirection GetDirection(const wxString& param, wxDirection dir = wxLEFT) = 0; virtual wxBitmap GetBitmap(const wxString& param = wxT("bitmap"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) = 0; virtual wxBitmap GetBitmap(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) = 0; virtual wxIcon GetIcon(const wxString& param = wxT("icon"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) = 0; virtual wxIcon GetIcon(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) = 0; virtual wxIconBundle GetIconBundle(const wxString& param, - const wxArtClient& defaultArtClient = wxART_OTHER) = 0; + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER)) = 0; virtual wxImageList *GetImageList(const wxString& param = wxT("imagelist")) = 0; #if wxUSE_ANIMATIONCTRL @@ -321,31 +321,31 @@ protected: return GetImpl()->GetDirection(param, dir); } wxBitmap GetBitmap(const wxString& param = wxT("bitmap"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) { return GetImpl()->GetBitmap(param, defaultArtClient, size); } wxBitmap GetBitmap(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) { return GetImpl()->GetBitmap(node, defaultArtClient, size); } wxIcon GetIcon(const wxString& param = wxT("icon"), - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) { return GetImpl()->GetIcon(param, defaultArtClient, size); } wxIcon GetIcon(const wxXmlNode* node, - const wxArtClient& defaultArtClient = wxART_OTHER, + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER), wxSize size = wxDefaultSize) { return GetImpl()->GetIcon(node, defaultArtClient, size); } wxIconBundle GetIconBundle(const wxString& param, - const wxArtClient& defaultArtClient = wxART_OTHER) + const wxArtClient& defaultArtClient = wxASCII_STR(wxART_OTHER)) { return GetImpl()->GetIconBundle(param, defaultArtClient); } diff --git a/interface/wx/artprov.h b/interface/wx/artprov.h index 477c59c37e..8f34231527 100644 --- a/interface/wx/artprov.h +++ b/interface/wx/artprov.h @@ -16,80 +16,80 @@ typedef wxString wxArtClient; typedef wxString wxArtID; -const wxArtClient wxART_TOOLBAR; -const wxArtClient wxART_MENU; -const wxArtClient wxART_FRAME_ICON; +const char* wxART_TOOLBAR; +const char* wxART_MENU; +const char* wxART_FRAME_ICON; -const wxArtClient wxART_CMN_DIALOG; -const wxArtClient wxART_HELP_BROWSER; -const wxArtClient wxART_MESSAGE_BOX; -const wxArtClient wxART_BUTTON; -const wxArtClient wxART_LIST; +const char* wxART_CMN_DIALOG; +const char* wxART_HELP_BROWSER; +const char* wxART_MESSAGE_BOX; +const char* wxART_BUTTON; +const char* wxART_LIST; -const wxArtClient wxART_OTHER; +const char* wxART_OTHER; -const wxArtID wxART_ADD_BOOKMARK; -const wxArtID wxART_DEL_BOOKMARK; -const wxArtID wxART_HELP_SIDE_PANEL; -const wxArtID wxART_HELP_SETTINGS; -const wxArtID wxART_HELP_BOOK; -const wxArtID wxART_HELP_FOLDER; -const wxArtID wxART_HELP_PAGE; -const wxArtID wxART_GO_BACK; -const wxArtID wxART_GO_FORWARD; -const wxArtID wxART_GO_UP; -const wxArtID wxART_GO_DOWN; -const wxArtID wxART_GO_TO_PARENT; -const wxArtID wxART_GO_HOME; -const wxArtID wxART_GOTO_FIRST; -const wxArtID wxART_GOTO_LAST; -const wxArtID wxART_FILE_OPEN; -const wxArtID wxART_FILE_SAVE; -const wxArtID wxART_FILE_SAVE_AS; -const wxArtID wxART_PRINT; -const wxArtID wxART_HELP; -const wxArtID wxART_TIP; -const wxArtID wxART_REPORT_VIEW; -const wxArtID wxART_LIST_VIEW; -const wxArtID wxART_NEW_DIR; -const wxArtID wxART_HARDDISK; -const wxArtID wxART_FLOPPY; -const wxArtID wxART_CDROM; -const wxArtID wxART_REMOVABLE; -const wxArtID wxART_FOLDER; -const wxArtID wxART_FOLDER_OPEN; -const wxArtID wxART_GO_DIR_UP; -const wxArtID wxART_EXECUTABLE_FILE; -const wxArtID wxART_NORMAL_FILE; -const wxArtID wxART_TICK_MARK; -const wxArtID wxART_CROSS_MARK; -const wxArtID wxART_ERROR; -const wxArtID wxART_QUESTION; -const wxArtID wxART_WARNING; -const wxArtID wxART_INFORMATION; -const wxArtID wxART_MISSING_IMAGE; +const char* wxART_ADD_BOOKMARK; +const char* wxART_DEL_BOOKMARK; +const char* wxART_HELP_SIDE_PANEL; +const char* wxART_HELP_SETTINGS; +const char* wxART_HELP_BOOK; +const char* wxART_HELP_FOLDER; +const char* wxART_HELP_PAGE; +const char* wxART_GO_BACK; +const char* wxART_GO_FORWARD; +const char* wxART_GO_UP; +const char* wxART_GO_DOWN; +const char* wxART_GO_TO_PARENT; +const char* wxART_GO_HOME; +const char* wxART_GOTO_FIRST; +const char* wxART_GOTO_LAST; +const char* wxART_FILE_OPEN; +const char* wxART_FILE_SAVE; +const char* wxART_FILE_SAVE_AS; +const char* wxART_PRINT; +const char* wxART_HELP; +const char* wxART_TIP; +const char* wxART_REPORT_VIEW; +const char* wxART_LIST_VIEW; +const char* wxART_NEW_DIR; +const char* wxART_HARDDISK; +const char* wxART_FLOPPY; +const char* wxART_CDROM; +const char* wxART_REMOVABLE; +const char* wxART_FOLDER; +const char* wxART_FOLDER_OPEN; +const char* wxART_GO_DIR_UP; +const char* wxART_EXECUTABLE_FILE; +const char* wxART_NORMAL_FILE; +const char* wxART_TICK_MARK; +const char* wxART_CROSS_MARK; +const char* wxART_ERROR; +const char* wxART_QUESTION; +const char* wxART_WARNING; +const char* wxART_INFORMATION; +const char* wxART_MISSING_IMAGE; -const wxArtID wxART_COPY; -const wxArtID wxART_CUT; -const wxArtID wxART_PASTE; -const wxArtID wxART_DELETE; -const wxArtID wxART_NEW; +const char* wxART_COPY; +const char* wxART_CUT; +const char* wxART_PASTE; +const char* wxART_DELETE; +const char* wxART_NEW; -const wxArtID wxART_UNDO; -const wxArtID wxART_REDO; +const char* wxART_UNDO; +const char* wxART_REDO; -const wxArtID wxART_PLUS; -const wxArtID wxART_MINUS; +const char* wxART_PLUS; +const char* wxART_MINUS; -const wxArtID wxART_CLOSE; -const wxArtID wxART_QUIT; +const char* wxART_CLOSE; +const char* wxART_QUIT; -const wxArtID wxART_FIND; -const wxArtID wxART_FIND_AND_REPLACE; +const char* wxART_FIND; +const char* wxART_FIND_AND_REPLACE; -const wxArtID wxART_FULL_SCREEN; -const wxArtID wxART_EDIT; +const char* wxART_FULL_SCREEN; +const char* wxART_EDIT; /** @@ -200,6 +200,10 @@ const wxArtID wxART_EDIT; + @note When building with @c wxNO_IMPLICIT_WXSTRING_ENCODING defined (see + @ref overview_string for more details), you need to explicitly use + wxASCII_STR() around these constants. + Additionally, any string recognized by custom art providers registered using wxArtProvider::Push may be used. diff --git a/interface/wx/string.h b/interface/wx/string.h index a486533992..6adee24bab 100644 --- a/interface/wx/string.h +++ b/interface/wx/string.h @@ -1776,6 +1776,12 @@ public: /** Converts the string or character from an ASCII, 7-bit form to the native wxString representation. + + Input must consist only of 7-bit (i.e. less than 128) ASCII characters, + the behaviour in presence of non-ASCII characters is undefined but will + result in assert failures. + + @see wxASCII_STR() */ static wxString FromAscii(const char* s); static wxString FromAscii(const unsigned char* s); @@ -2069,4 +2075,14 @@ public: template inline bool wxStringCheck(const wxString& val); +/** + Convenience macro for explicitly constructing wxString from ASCII strings. + + This macro simply expands to a call to wxString::FromAscii() but is + slightly shorter. + + @since 3.1.4 + */ +wxString wxASCII_STR(const char* s); + //@} diff --git a/src/common/artprov.cpp b/src/common/artprov.cpp index 7ef0aba6aa..e7466eee26 100644 --- a/src/common/artprov.cpp +++ b/src/common/artprov.cpp @@ -21,12 +21,6 @@ #include "wx/artprov.h" -#define wxART_MAKE_CLIENT_ID(id) \ - extern WXDLLIMPEXP_DATA_CORE(const wxArtClient) id = wxASCII_STR(#id "_C"); -#define wxART_MAKE_ART_ID(id) \ - extern WXDLLIMPEXP_DATA_CORE(const wxArtID) id = wxASCII_STR(#id); -#include "wx/artids.h" - #ifndef WX_PRECOMP #include "wx/list.h" #include "wx/log.h" diff --git a/src/gtk/artgtk.cpp b/src/gtk/artgtk.cpp index ecaa9c1e48..c4ecdd8b1c 100644 --- a/src/gtk/artgtk.cpp +++ b/src/gtk/artgtk.cpp @@ -52,27 +52,13 @@ protected: namespace { -wxString wxArtIDToStock(const wxArtID& id) -{ - struct wxArtStockMapping - { - wxArtStockMapping(const wxArtID& artId, const wxString& stockId) - : m_artId(artId), m_stockId(stockId) - { - } - - wxArtID m_artId; - wxString m_stockId; - }; - #ifdef __WXGTK3__ - #define ART(wxId, unused, themeId) wxArtStockMapping(wxId, themeId), + #define ART(wxId, unused, themeId) wxId, themeId, #else - #define ART(wxId, stockId, unused) wxArtStockMapping(wxId, stockId), + #define ART(wxId, stockId, unused) wxId, stockId, #endif - static const wxArtStockMapping wxId2GtkMap[] = - { +const wxString wxId2Gtk[] = { ART(wxART_ERROR, GTK_STOCK_DIALOG_ERROR, "dialog-error") ART(wxART_INFORMATION, GTK_STOCK_DIALOG_INFO, "dialog-information") ART(wxART_WARNING, GTK_STOCK_DIALOG_WARNING, "dialog-warning") @@ -136,21 +122,26 @@ wxString wxArtIDToStock(const wxArtID& id) ART(wxART_FIND_AND_REPLACE, GTK_STOCK_FIND_AND_REPLACE, "edit-find-replace") ART(wxART_FULL_SCREEN, GTK_STOCK_FULLSCREEN, "view-fullscreen") ART(wxART_EDIT, "accessories-text-editor", "accessories-text-editor") - }; +}; + #undef ART +wxString wxArtIDToStock(const wxArtID& id) +{ // allow passing GTK+ stock IDs to wxArtProvider -- if a recognized wx // ID wasn't found, pass it to GTK+ in the hope it is a GTK+ or theme // icon name: + wxString ret(id); - for (unsigned i = 0; i < WXSIZEOF(wxId2GtkMap); i++) + for (unsigned i = 0; i < WXSIZEOF(wxId2Gtk); i += 2) { - if (id == wxId2GtkMap[i].m_artId) + if (id == wxId2Gtk[i]) { - return wxId2GtkMap[i].m_stockId; + ret = wxId2Gtk[i + 1]; + break; } } - return id; + return ret; } GtkIconSize ArtClientToIconSize(const wxArtClient& client) diff --git a/tests/allheaders.h b/tests/allheaders.h index fd4a87d3e5..7da480582a 100644 --- a/tests/allheaders.h +++ b/tests/allheaders.h @@ -397,6 +397,7 @@ #include #include #include +#include #include #include #include