]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/artprov.h
avoid GTK+ prefixes for our tree entry code, it is not part of GTK+, should have...
[wxWidgets.git] / interface / wx / artprov.h
index 182fce28e3ca2623d1e65e5e5a29e6c145b03fd9..0ef4101dbb2fdbf8497de69241e80c7ac91b803c 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxArtProvider
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxArtProvider
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -17,6 +17,79 @@ typedef wxString wxArtClient;
 typedef wxString wxArtID;
 
 
 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
 
 /**
     @class wxArtProvider
 
@@ -59,62 +132,67 @@ typedef wxString wxArtID;
     @section artprovider_identify Identifying art resources
 
     Every bitmap and icon bundle are known to wxArtProvider under an unique ID that
     @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>
     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>
 
     </td></tr>
     </table>
 
@@ -125,15 +203,17 @@ typedef wxString wxArtID;
     When running under GTK+ 2, GTK+ stock item IDs (e.g. @c "gtk-cdrom") may be used
     as well:
     @code
     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);
         wxBitmap bmp = wxArtProvider::GetBitmap("gtk-cdrom", wxART_MENU);
-        #endif
+    #endif
     @endcode
     @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.
     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.
@@ -144,14 +224,14 @@ typedef wxString wxArtID;
     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:
 
     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
         categories above)
 
     Client ID serve as a hint to wxArtProvider that is supposed to help it to
@@ -162,9 +242,10 @@ typedef wxString wxArtID;
     identical bitmap for different client values!
 
     @library{wxcore}
     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
 {
 */
 class wxArtProvider : public wxObject
 {
@@ -297,6 +378,21 @@ public:
     */
     static bool Remove(wxArtProvider* provider);
 
     */
     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:
 
     /**
 protected:
 
     /**