// Purpose: interface of wxArtProvider
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
typedef wxString wxArtID;
+wxArtClient wxART_TOOLBAR;
+wxArtClient wxART_MENU;
+wxArtClient wxART_FRAME_ICON;
+
+wxArtClient wxART_CMN_DIALOG;
+wxArtClient wxART_HELP_BROWSER;
+wxArtClient wxART_MESSAGE_BOX;
+wxArtClient wxART_BUTTON;
+wxArtClient wxART_LIST;
+
+wxArtClient wxART_OTHER;
+
+
+wxArtID wxART_ADD_BOOKMARK;
+wxArtID wxART_DEL_BOOKMARK;
+wxArtID wxART_HELP_SIDE_PANEL;
+wxArtID wxART_HELP_SETTINGS;
+wxArtID wxART_HELP_BOOK;
+wxArtID wxART_HELP_FOLDER;
+wxArtID wxART_HELP_PAGE;
+wxArtID wxART_GO_BACK;
+wxArtID wxART_GO_FORWARD;
+wxArtID wxART_GO_UP;
+wxArtID wxART_GO_DOWN;
+wxArtID wxART_GO_TO_PARENT;
+wxArtID wxART_GO_HOME;
+wxArtID wxART_GOTO_FIRST;
+wxArtID wxART_GOTO_LAST;
+wxArtID wxART_FILE_OPEN;
+wxArtID wxART_FILE_SAVE;
+wxArtID wxART_FILE_SAVE_AS;
+wxArtID wxART_PRINT;
+wxArtID wxART_HELP;
+wxArtID wxART_TIP;
+wxArtID wxART_REPORT_VIEW;
+wxArtID wxART_LIST_VIEW;
+wxArtID wxART_NEW_DIR;
+wxArtID wxART_HARDDISK;
+wxArtID wxART_FLOPPY;
+wxArtID wxART_CDROM;
+wxArtID wxART_REMOVABLE;
+wxArtID wxART_FOLDER;
+wxArtID wxART_FOLDER_OPEN;
+wxArtID wxART_GO_DIR_UP;
+wxArtID wxART_EXECUTABLE_FILE;
+wxArtID wxART_NORMAL_FILE;
+wxArtID wxART_TICK_MARK;
+wxArtID wxART_CROSS_MARK;
+wxArtID wxART_ERROR;
+wxArtID wxART_QUESTION;
+wxArtID wxART_WARNING;
+wxArtID wxART_INFORMATION;
+wxArtID wxART_MISSING_IMAGE;
+
+wxArtID wxART_COPY;
+wxArtID wxART_CUT;
+wxArtID wxART_PASTE;
+wxArtID wxART_DELETE;
+wxArtID wxART_NEW;
+
+wxArtID wxART_UNDO;
+wxArtID wxART_REDO;
+
+wxArtID wxART_PLUS;
+wxArtID wxART_MINUS;
+
+wxArtID wxART_CLOSE;
+wxArtID wxART_QUIT;
+
+wxArtID wxART_FIND;
+wxArtID wxART_FIND_AND_REPLACE;
+
+
/**
@class wxArtProvider
@section artprovider_identify Identifying art resources
Every bitmap and icon bundle are known to wxArtProvider under an unique ID that
- is used when requesting a resource from it. The ID is represented by wxArtID type
+ is used when requesting a resource from it. The ID is represented by the ::wxArtID type
and can have one of these predefined values (you can see bitmaps represented by these
constants in the @ref page_samples_artprov):
<table>
<tr><td>
- @li wxART_ERROR
- @li wxART_QUESTION
- @li wxART_WARNING
- @li wxART_INFORMATION
- @li wxART_ADD_BOOKMARK
- @li wxART_DEL_BOOKMARK
- @li wxART_HELP_SIDE_PANEL
- @li wxART_HELP_SETTINGS
- @li wxART_HELP_BOOK
- @li wxART_HELP_FOLDER
- @li wxART_HELP_PAGE
- @li wxART_GO_BACK
- @li wxART_GO_FORWARD
- @li wxART_GO_UP
- </td><td>
- @li wxART_GO_DOWN
- @li wxART_GO_TO_PARENT
- @li wxART_GO_HOME
- @li wxART_PRINT
- @li wxART_HELP
- @li wxART_TIP
- @li wxART_REPORT_VIEW
- @li wxART_LIST_VIEW
- @li wxART_NEW_DIR
- @li wxART_FOLDER
- @li wxART_FOLDER_OPEN
- @li wxART_GO_DIR_UP
- @li wxART_EXECUTABLE_FILE
- @li wxART_NORMAL_FILE
- @li wxART_TICK_MARK
- @li wxART_CROSS_MARK
- </td><td>
- @li wxART_MISSING_IMAGE
- @li wxART_NEW
- @li wxART_FILE_OPEN
- @li wxART_FILE_SAVE
- @li wxART_FILE_SAVE_AS
- @li wxART_DELETE
- @li wxART_COPY
- @li wxART_CUT
- @li wxART_PASTE
- @li wxART_UNDO
- @li wxART_REDO
- @li wxART_QUIT
- @li wxART_FIND
- @li wxART_FIND_AND_REPLACE
- @li wxART_HARDDISK
- @li wxART_FLOPPY
- @li wxART_CDROM
- @li wxART_REMOVABLE
+ @li @c wxART_ERROR
+ @li @c wxART_QUESTION
+ @li @c wxART_WARNING
+ @li @c wxART_INFORMATION
+ @li @c wxART_ADD_BOOKMARK
+ @li @c wxART_DEL_BOOKMARK
+ @li @c wxART_HELP_SIDE_PANEL
+ @li @c wxART_HELP_SETTINGS
+ @li @c wxART_HELP_BOOK
+ @li @c wxART_HELP_FOLDER
+ @li @c wxART_HELP_PAGE
+ @li @c wxART_GO_BACK
+ @li @c wxART_GO_FORWARD
+ @li @c wxART_GO_UP
+ @li @c wxART_GO_DOWN
+ @li @c wxART_GO_TO_PARENT
+ @li @c wxART_GO_HOME
+ @li @c wxART_GOTO_FIRST (since 2.9.2)
+ </td><td>
+ @li @c wxART_GOTO_LAST (since 2.9.2)
+ @li @c wxART_PRINT
+ @li @c wxART_HELP
+ @li @c wxART_TIP
+ @li @c wxART_REPORT_VIEW
+ @li @c wxART_LIST_VIEW
+ @li @c wxART_NEW_DIR
+ @li @c wxART_FOLDER
+ @li @c wxART_FOLDER_OPEN
+ @li @c wxART_GO_DIR_UP
+ @li @c wxART_EXECUTABLE_FILE
+ @li @c wxART_NORMAL_FILE
+ @li @c wxART_TICK_MARK
+ @li @c wxART_CROSS_MARK
+ @li @c wxART_MISSING_IMAGE
+ @li @c wxART_NEW
+ @li @c wxART_FILE_OPEN
+ @li @c wxART_FILE_SAVE
+ </td><td>
+ @li @c wxART_FILE_SAVE_AS
+ @li @c wxART_DELETE
+ @li @c wxART_COPY
+ @li @c wxART_CUT
+ @li @c wxART_PASTE
+ @li @c wxART_UNDO
+ @li @c wxART_REDO
+ @li @c wxART_PLUS (since 2.9.2)
+ @li @c wxART_MINUS (since 2.9.2)
+ @li @c wxART_CLOSE
+ @li @c wxART_QUIT
+ @li @c wxART_FIND
+ @li @c wxART_FIND_AND_REPLACE
+ @li @c wxART_HARDDISK
+ @li @c wxART_FLOPPY
+ @li @c wxART_CDROM
+ @li @c wxART_REMOVABLE
</td></tr>
</table>
When running under GTK+ 2, GTK+ stock item IDs (e.g. @c "gtk-cdrom") may be used
as well:
@code
- #ifdef __WXGTK__
+ #ifdef __WXGTK__
wxBitmap bmp = wxArtProvider::GetBitmap("gtk-cdrom", wxART_MENU);
- #endif
+ #endif
@endcode
- Additionally, if wxGTK was compiled against GTK+ >= 2.4, then it is also
- possible to load icons from current icon theme by specifying their name (without
- extension and directory components).
- Icon themes recognized by GTK+ follow the freedesktop.org Icon Themes specification
- (see http://freedesktop.org/Standards/icon-theme-spec).
+ For a list of the GTK+ stock items please refer to the
+ <a href="http://library.gnome.org/devel/gtk/stable/gtk-Stock-Items.html">GTK+ documentation
+ page</a>.
+ It is also possible to load icons from the current icon theme by specifying their name
+ (without extension and directory components).
+ Icon themes recognized by GTK+ follow the freedesktop.org
+ <a href="http://freedesktop.org/Standards/icon-theme-spec">Icon Themes specification</a>.
Note that themes are not guaranteed to contain all icons, so wxArtProvider may
return ::wxNullBitmap or ::wxNullIcon.
The default theme is typically installed in @c /usr/share/icons/hicolor.
The @e client is the entity that calls wxArtProvider's GetBitmap() or GetIcon() function.
It is represented by wxClientID type and can have one of these values:
- @li wxART_TOOLBAR
- @li wxART_MENU
- @li wxART_BUTTON
- @li wxART_FRAME_ICON
- @li wxART_CMN_DIALOG
- @li wxART_HELP_BROWSER
- @li wxART_MESSAGE_BOX
- @li wxART_OTHER (used for all requests that don't fit into any of the
+ @li @c wxART_TOOLBAR
+ @li @c wxART_MENU
+ @li @c wxART_BUTTON
+ @li @c wxART_FRAME_ICON
+ @li @c wxART_CMN_DIALOG
+ @li @c wxART_HELP_BROWSER
+ @li @c wxART_MESSAGE_BOX
+ @li @c wxART_OTHER (used for all requests that don't fit into any of the
categories above)
Client ID serve as a hint to wxArtProvider that is supposed to help it to
identical bitmap for different client values!
@library{wxcore}
- @category{misc,data}
+ @category{misc}
- @see the @ref page_samples_artprov for an example of wxArtProvider usage.
+ @see @ref page_samples_artprov for an example of wxArtProvider usage;
+ @ref page_stockitems "stock ID list"
*/
class wxArtProvider : public wxObject
{
*/
static bool Remove(wxArtProvider* provider);
+ /**
+ * Helper used by GetMessageBoxIcon(): return the art id corresponding to
+ * the standard wxICON_INFORMATION/WARNING/ERROR/QUESTION flags (only one
+ * can be set)
+ */
+ static wxArtID GetMessageBoxIconId(int flags);
+
+ /**
+ * Helper used by several generic classes: return the icon corresponding to
+ * the standard wxICON_INFORMATION/WARNING/ERROR/QUESTION flags (only one
+ * can be set)
+ */
+ static wxIcon GetMessageBoxIcon(int flags);
+
+
protected:
/**