Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / lib / Wx / ArtProvider.pm
1 #############################################################################
2 ## Name:        lib/Wx/ArtProvider.pm
3 ## Purpose:     Wx::ArtProvider
4 ## Author:      Matthew "Cheetah" Gabeler-Lee
5 ## Modified by:
6 ## Created:     11/01/2005
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 #############################################################################
12
13 package Wx::ArtProvider;
14
15 use strict;
16 use base 'Exporter';
17
18 our %EXPORT_TAGS = (
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/],
34 );
35 our @EXPORT_OK = (qw(MAKE_CLIENT_ID MAKE_ART_ID), @{$EXPORT_TAGS{artid}},
36   @{$EXPORT_TAGS{clientid}});
37
38 sub MAKE_CLIENT_ID($) {
39   return $_[0] . "_C";
40 }
41
42 sub MAKE_ART_ID($) {
43   return $_[0];
44 }
45
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 $@;
50 }
51 for my $clientid (@{$EXPORT_TAGS{clientid}}) {
52   eval "sub $clientid { return MAKE_CLIENT_ID(\"$clientid\") }";
53   die "ERROR compiling clientid $clientid: $@" if $@;
54 }
55
56 no strict;
57
58 package Wx::PlArtProvider; @ISA = qw(Wx::ArtProvider);
59
60 1;