1 #############################################################################
2 ## Name: lib/Wx/ArtProvider.pm
3 ## Purpose: Wx::ArtProvider
4 ## Author: Matthew "Cheetah" Gabeler-Lee
7 ## RCS-ID: $Id: ArtProvider.pm 2443 2008-08-13 21:08:46Z mbarbon $
8 ## Copyright: (c) 2005, 2008 Matthew Gabeler-Lee
9 ## Licence: This program is free software; you can redistribute it and/or
10 ## modify it under the same terms as Perl itself
11 #############################################################################
13 package Wx::ArtProvider;
19 'artid' => [qw/wxART_ADD_BOOKMARK wxART_DEL_BOOKMARK wxART_HELP_SIDE_PANEL
20 wxART_HELP_SETTINGS wxART_HELP_BOOK wxART_HELP_FOLDER wxART_HELP_PAGE
21 wxART_GO_BACK wxART_GO_FORWARD wxART_GO_UP wxART_GO_DOWN
22 wxART_GO_TO_PARENT wxART_GO_HOME wxART_FILE_OPEN wxART_PRINT wxART_HELP
23 wxART_TIP wxART_REPORT_VIEW wxART_LIST_VIEW wxART_NEW_DIR wxART_FOLDER
24 wxART_GO_DIR_UP wxART_EXECUTABLE_FILE wxART_NORMAL_FILE wxART_TICK_MARK
25 wxART_CROSS_MARK wxART_ERROR wxART_QUESTION wxART_WARNING
26 wxART_INFORMATION wxART_MISSING_IMAGE wxART_CDROM wxART_COPY
27 wxART_CUT wxART_DELETE wxART_FILE_SAVE wxART_FILE_SAVE_AS
28 wxART_FIND wxART_FIND_AND_REPLACE wxART_FLOPPY wxART_FOLDER_OPEN
29 wxART_HARDDISK wxART_NEW wxART_PASTE wxART_QUIT wxART_REDO
30 wxART_REMOVABLE wxART_UNDO/],
31 'clientid' => [qw/wxART_TOOLBAR wxART_MENU wxART_FRAME_ICON
32 wxART_CMN_DIALOG wxART_HELP_BROWSER wxART_MESSAGE_BOX wxART_BUTTON
33 wxART_LIST wxART_OTHER/],
35 our @EXPORT_OK = (qw(MAKE_CLIENT_ID MAKE_ART_ID), @{$EXPORT_TAGS{artid}},
36 @{$EXPORT_TAGS{clientid}});
38 sub MAKE_CLIENT_ID($) {
46 # generate artid and clientid subs based on export tags
47 for my $artid (@{$EXPORT_TAGS{artid}}) {
48 eval "sub $artid { return MAKE_ART_ID(\"$artid\") }";
49 die "ERROR compiling artid $artid: $@" if $@;
51 for my $clientid (@{$EXPORT_TAGS{clientid}}) {
52 eval "sub $clientid { return MAKE_CLIENT_ID(\"$clientid\") }";
53 die "ERROR compiling clientid $clientid: $@" if $@;
58 package Wx::PlArtProvider; @ISA = qw(Wx::ArtProvider);