Merge branch 'string-art-ids'

Make the wxART_* constants const wxStrings to improve compatibility with
pre-3.1.4 code and, in particular, allow taking the address of these
constants.

See https://github.com/wxWidgets/wxWidgets/pull/1996
This commit is contained in:
Vadim Zeitlin
2020-08-21 02:39:12 +02:00
14 changed files with 212 additions and 160 deletions

View File

@@ -3820,6 +3820,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
wx/anidecod.h \ wx/anidecod.h \
wx/animdecod.h \ wx/animdecod.h \
wx/appprogress.h \ wx/appprogress.h \
wx/artids.h \
wx/artprov.h \ wx/artprov.h \
wx/bitmap.h \ wx/bitmap.h \
wx/bookctrl.h \ wx/bookctrl.h \

View File

@@ -1131,6 +1131,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/anidecod.h wx/anidecod.h
wx/animdecod.h wx/animdecod.h
wx/appprogress.h wx/appprogress.h
wx/artids.h
wx/artprov.h wx/artprov.h
wx/bitmap.h wx/bitmap.h
wx/bookctrl.h wx/bookctrl.h

View File

@@ -1039,6 +1039,7 @@ set(GUI_CMN_HDR
wx/anidecod.h wx/anidecod.h
wx/animdecod.h wx/animdecod.h
wx/appprogress.h wx/appprogress.h
wx/artids.h
wx/artprov.h wx/artprov.h
wx/bitmap.h wx/bitmap.h
wx/bookctrl.h wx/bookctrl.h

View File

@@ -936,6 +936,7 @@ GUI_CMN_HDR =
wx/animdecod.h wx/animdecod.h
wx/anybutton.h wx/anybutton.h
wx/appprogress.h wx/appprogress.h
wx/artids.h
wx/artprov.h wx/artprov.h
wx/bannerwindow.h wx/bannerwindow.h
wx/bitmap.h wx/bitmap.h

View File

@@ -1502,6 +1502,7 @@
<ClInclude Include="..\..\include\wx\richtooltip.h" /> <ClInclude Include="..\..\include\wx\richtooltip.h" />
<ClInclude Include="..\..\include\wx\generic\gridsel.h" /> <ClInclude Include="..\..\include\wx\generic\gridsel.h" />
<ClInclude Include="..\..\include\wx\dcbuffer.h" /> <ClInclude Include="..\..\include\wx\dcbuffer.h" />
<ClInclude Include="..\..\include\wx\artids.h" />
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">

View File

@@ -1108,6 +1108,9 @@
<ClInclude Include="..\..\include\wx\appprogress.h"> <ClInclude Include="..\..\include\wx\appprogress.h">
<Filter>Common Headers</Filter> <Filter>Common Headers</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="..\..\include\wx\artids.h">
<Filter>Common Headers</Filter>
</ClInclude>
<ClInclude Include="..\..\include\wx\artprov.h"> <ClInclude Include="..\..\include\wx\artprov.h">
<Filter>Common Headers</Filter> <Filter>Common Headers</Filter>
</ClInclude> </ClInclude>

View File

@@ -2081,6 +2081,9 @@
<File <File
RelativePath="..\..\include\wx\ribbon\art_internal.h"> RelativePath="..\..\include\wx\ribbon\art_internal.h">
</File> </File>
<File
RelativePath="..\..\include\wx\artids.h">
</File>
<File <File
RelativePath="..\..\include\wx\artprov.h"> RelativePath="..\..\include\wx\artprov.h">
</File> </File>

View File

@@ -3276,6 +3276,10 @@
RelativePath="..\..\include\wx\ribbon\art_internal.h" RelativePath="..\..\include\wx\ribbon\art_internal.h"
> >
</File> </File>
<File
RelativePath="..\..\include\wx\artids.h"
>
</File>
<File <File
RelativePath="..\..\include\wx\artprov.h" RelativePath="..\..\include\wx\artprov.h"
> >

View File

@@ -3272,6 +3272,10 @@
RelativePath="..\..\include\wx\ribbon\art_internal.h" RelativePath="..\..\include\wx\ribbon\art_internal.h"
> >
</File> </File>
<File
RelativePath="..\..\include\wx\artids.h"
>
</File>
<File <File
RelativePath="..\..\include\wx\artprov.h" RelativePath="..\..\include\wx\artprov.h"
> >

94
include/wx/artids.h Normal file
View File

@@ -0,0 +1,94 @@
/////////////////////////////////////////////////////////////////////////////
// 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)

View File

@@ -28,92 +28,16 @@ typedef wxString wxArtClient;
typedef wxString wxArtID; typedef wxString wxArtID;
#define wxART_MAKE_CLIENT_ID_FROM_STR(id) ((id) + wxASCII_STR("_C")) #define wxART_MAKE_CLIENT_ID_FROM_STR(id) ((id) + wxASCII_STR("_C"))
#define wxART_MAKE_CLIENT_ID(id) wxASCII_STR(#id "_C")
#define wxART_MAKE_ART_ID_FROM_STR(id) (id) #define wxART_MAKE_ART_ID_FROM_STR(id) (id)
#define wxART_MAKE_ART_ID(id) wxASCII_STR(#id)
// ---------------------------------------------------------------------------- #define wxART_MAKE_CLIENT_ID(id) \
// Art clients extern WXDLLIMPEXP_DATA_CORE(const wxArtClient) id;
// ---------------------------------------------------------------------------- #define wxART_MAKE_ART_ID(id) \
extern WXDLLIMPEXP_DATA_CORE(const wxArtID) id;
#define wxART_TOOLBAR wxART_MAKE_CLIENT_ID(wxART_TOOLBAR) #include "wx/artids.h"
#define wxART_MENU wxART_MAKE_CLIENT_ID(wxART_MENU) #undef wxART_MAKE_ART_ID
#define wxART_FRAME_ICON wxART_MAKE_CLIENT_ID(wxART_FRAME_ICON) #undef wxART_MAKE_CLIENT_ID
#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 // wxArtProvider class

View File

@@ -16,80 +16,80 @@ typedef wxString wxArtClient;
typedef wxString wxArtID; typedef wxString wxArtID;
wxArtClient wxART_TOOLBAR; const wxArtClient wxART_TOOLBAR;
wxArtClient wxART_MENU; const wxArtClient wxART_MENU;
wxArtClient wxART_FRAME_ICON; const wxArtClient wxART_FRAME_ICON;
wxArtClient wxART_CMN_DIALOG; const wxArtClient wxART_CMN_DIALOG;
wxArtClient wxART_HELP_BROWSER; const wxArtClient wxART_HELP_BROWSER;
wxArtClient wxART_MESSAGE_BOX; const wxArtClient wxART_MESSAGE_BOX;
wxArtClient wxART_BUTTON; const wxArtClient wxART_BUTTON;
wxArtClient wxART_LIST; const wxArtClient wxART_LIST;
wxArtClient wxART_OTHER; const wxArtClient wxART_OTHER;
wxArtID wxART_ADD_BOOKMARK; const wxArtID wxART_ADD_BOOKMARK;
wxArtID wxART_DEL_BOOKMARK; const wxArtID wxART_DEL_BOOKMARK;
wxArtID wxART_HELP_SIDE_PANEL; const wxArtID wxART_HELP_SIDE_PANEL;
wxArtID wxART_HELP_SETTINGS; const wxArtID wxART_HELP_SETTINGS;
wxArtID wxART_HELP_BOOK; const wxArtID wxART_HELP_BOOK;
wxArtID wxART_HELP_FOLDER; const wxArtID wxART_HELP_FOLDER;
wxArtID wxART_HELP_PAGE; const wxArtID wxART_HELP_PAGE;
wxArtID wxART_GO_BACK; const wxArtID wxART_GO_BACK;
wxArtID wxART_GO_FORWARD; const wxArtID wxART_GO_FORWARD;
wxArtID wxART_GO_UP; const wxArtID wxART_GO_UP;
wxArtID wxART_GO_DOWN; const wxArtID wxART_GO_DOWN;
wxArtID wxART_GO_TO_PARENT; const wxArtID wxART_GO_TO_PARENT;
wxArtID wxART_GO_HOME; const wxArtID wxART_GO_HOME;
wxArtID wxART_GOTO_FIRST; const wxArtID wxART_GOTO_FIRST;
wxArtID wxART_GOTO_LAST; const wxArtID wxART_GOTO_LAST;
wxArtID wxART_FILE_OPEN; const wxArtID wxART_FILE_OPEN;
wxArtID wxART_FILE_SAVE; const wxArtID wxART_FILE_SAVE;
wxArtID wxART_FILE_SAVE_AS; const wxArtID wxART_FILE_SAVE_AS;
wxArtID wxART_PRINT; const wxArtID wxART_PRINT;
wxArtID wxART_HELP; const wxArtID wxART_HELP;
wxArtID wxART_TIP; const wxArtID wxART_TIP;
wxArtID wxART_REPORT_VIEW; const wxArtID wxART_REPORT_VIEW;
wxArtID wxART_LIST_VIEW; const wxArtID wxART_LIST_VIEW;
wxArtID wxART_NEW_DIR; const wxArtID wxART_NEW_DIR;
wxArtID wxART_HARDDISK; const wxArtID wxART_HARDDISK;
wxArtID wxART_FLOPPY; const wxArtID wxART_FLOPPY;
wxArtID wxART_CDROM; const wxArtID wxART_CDROM;
wxArtID wxART_REMOVABLE; const wxArtID wxART_REMOVABLE;
wxArtID wxART_FOLDER; const wxArtID wxART_FOLDER;
wxArtID wxART_FOLDER_OPEN; const wxArtID wxART_FOLDER_OPEN;
wxArtID wxART_GO_DIR_UP; const wxArtID wxART_GO_DIR_UP;
wxArtID wxART_EXECUTABLE_FILE; const wxArtID wxART_EXECUTABLE_FILE;
wxArtID wxART_NORMAL_FILE; const wxArtID wxART_NORMAL_FILE;
wxArtID wxART_TICK_MARK; const wxArtID wxART_TICK_MARK;
wxArtID wxART_CROSS_MARK; const wxArtID wxART_CROSS_MARK;
wxArtID wxART_ERROR; const wxArtID wxART_ERROR;
wxArtID wxART_QUESTION; const wxArtID wxART_QUESTION;
wxArtID wxART_WARNING; const wxArtID wxART_WARNING;
wxArtID wxART_INFORMATION; const wxArtID wxART_INFORMATION;
wxArtID wxART_MISSING_IMAGE; const wxArtID wxART_MISSING_IMAGE;
wxArtID wxART_COPY; const wxArtID wxART_COPY;
wxArtID wxART_CUT; const wxArtID wxART_CUT;
wxArtID wxART_PASTE; const wxArtID wxART_PASTE;
wxArtID wxART_DELETE; const wxArtID wxART_DELETE;
wxArtID wxART_NEW; const wxArtID wxART_NEW;
wxArtID wxART_UNDO; const wxArtID wxART_UNDO;
wxArtID wxART_REDO; const wxArtID wxART_REDO;
wxArtID wxART_PLUS; const wxArtID wxART_PLUS;
wxArtID wxART_MINUS; const wxArtID wxART_MINUS;
wxArtID wxART_CLOSE; const wxArtID wxART_CLOSE;
wxArtID wxART_QUIT; const wxArtID wxART_QUIT;
wxArtID wxART_FIND; const wxArtID wxART_FIND;
wxArtID wxART_FIND_AND_REPLACE; const wxArtID wxART_FIND_AND_REPLACE;
wxArtID wxART_FULL_SCREEN; const wxArtID wxART_FULL_SCREEN;
wxArtID wxART_EDIT; const wxArtID wxART_EDIT;
/** /**

View File

@@ -21,6 +21,12 @@
#include "wx/artprov.h" #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 #ifndef WX_PRECOMP
#include "wx/list.h" #include "wx/list.h"
#include "wx/log.h" #include "wx/log.h"

View File

@@ -52,13 +52,27 @@ protected:
namespace 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__ #ifdef __WXGTK3__
#define ART(wxId, unused, themeId) wxId, themeId, #define ART(wxId, unused, themeId) wxArtStockMapping(wxId, themeId),
#else #else
#define ART(wxId, stockId, unused) wxId, stockId, #define ART(wxId, stockId, unused) wxArtStockMapping(wxId, stockId),
#endif #endif
const wxString wxId2Gtk[] = { static const wxArtStockMapping wxId2GtkMap[] =
{
ART(wxART_ERROR, GTK_STOCK_DIALOG_ERROR, "dialog-error") ART(wxART_ERROR, GTK_STOCK_DIALOG_ERROR, "dialog-error")
ART(wxART_INFORMATION, GTK_STOCK_DIALOG_INFO, "dialog-information") ART(wxART_INFORMATION, GTK_STOCK_DIALOG_INFO, "dialog-information")
ART(wxART_WARNING, GTK_STOCK_DIALOG_WARNING, "dialog-warning") ART(wxART_WARNING, GTK_STOCK_DIALOG_WARNING, "dialog-warning")
@@ -122,26 +136,21 @@ const wxString wxId2Gtk[] = {
ART(wxART_FIND_AND_REPLACE, GTK_STOCK_FIND_AND_REPLACE, "edit-find-replace") ART(wxART_FIND_AND_REPLACE, GTK_STOCK_FIND_AND_REPLACE, "edit-find-replace")
ART(wxART_FULL_SCREEN, GTK_STOCK_FULLSCREEN, "view-fullscreen") ART(wxART_FULL_SCREEN, GTK_STOCK_FULLSCREEN, "view-fullscreen")
ART(wxART_EDIT, "accessories-text-editor", "accessories-text-editor") ART(wxART_EDIT, "accessories-text-editor", "accessories-text-editor")
}; };
#undef ART #undef ART
wxString wxArtIDToStock(const wxArtID& id)
{
// allow passing GTK+ stock IDs to wxArtProvider -- if a recognized wx // 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 // ID wasn't found, pass it to GTK+ in the hope it is a GTK+ or theme
// icon name: // icon name:
wxString ret(id);
for (unsigned i = 0; i < WXSIZEOF(wxId2Gtk); i += 2) for (unsigned i = 0; i < WXSIZEOF(wxId2GtkMap); i++)
{ {
if (id == wxId2Gtk[i]) if (id == wxId2GtkMap[i].m_artId)
{ {
ret = wxId2Gtk[i + 1]; return wxId2GtkMap[i].m_stockId;
break;
} }
} }
return ret; return id;
} }
GtkIconSize ArtClientToIconSize(const wxArtClient& client) GtkIconSize ArtClientToIconSize(const wxArtClient& client)