Changeset 7331


Ignore:
Timestamp:
2004-05-13T20:43:56+12:00 (20 years ago)
Author:
davidb
Message:

Collage classifier extended to include "dynamic"
parameters: that is to say parameters specified
as options to the Perl classifier that affect
the collaging at runtime, such as specifying the
width and height of the applet and the background
colour.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/classify/Collage.pm

    r6968 r7331  
    1 ###########################################################################
     1##########################################################################
    22#
    33# Collage.pm --
     
    3838    'type' => "string",
    3939    'deft' => "Collage",
    40     'reqd' => "no" }];
     40    'reqd' => "no" },
     41      { 'name' => "geometry",
     42    'desc' => "{BasClas.geometry}",
     43    'type' => "string",
     44    'deft' => "600x300",
     45    'reqd' => "no" },
     46      { 'name' => "verbosity",
     47    'desc' => "{BasClas.verbosity}",
     48    'type' => "string",
     49    'deft' => "5",
     50    'reqd' => "no" },
     51      { 'name' => "maxDepth",
     52    'desc' => "{BasClas.maxDepth}",
     53    'type' => "string",
     54    'deft' => "3"},
     55#      { 'name' => "maxDownloads",
     56#   'desc' => "{BasClas.maxDownloads}",
     57#   'type' => "string",
     58#   'deft' => "",
     59#   'reqd' => "no" },
     60      { 'name' => "maxDisplay",
     61    'desc' => "{BasClas.maxDisplay}",
     62    'type' => "string",
     63    'deft' => "25",
     64    'reqd' => "no" },
     65      { 'name' => "imageType",
     66    'desc' => "{BasClas.imageType}",
     67    'type' => "string",
     68    'deft' => ".jpg%.png",
     69    'reqd' => "no" },
     70      { 'name' => "bgcolor",
     71    'desc' => "{BasClas.bgcolor}",
     72    'type' => "string",
     73    'deft' => "#96c29a",
     74    'reqd' => "no" },
     75      { 'name' => "refreshDelay",
     76    'desc' => "{BasClas.refreshDelay}",
     77    'type' => "string",
     78    'deft' => "1500",
     79    'reqd' => "no" },
     80      { 'name' => "isJava2",
     81    'desc' => "{BasClas.isJava2}",
     82    'type' => "string",
     83    'deft' => "auto",
     84    'reqd' => "no" },
     85      { 'name' => "imageMustNotHave",
     86    'desc' => "{BasClas.imageMustNotHave}",
     87    'type' => "string",
     88    'deft' => "hl=\%x=\%gt=\%gc=\%.pr",
     89    'reqd' => "no" },
     90      { 'name' => "caption",
     91    'desc' => "{BasClas.caption}",
     92    'type' => "string",
     93    'deft' => "",
     94    'reqd' => "no" }
     95      ];
     96
     97
     98
    4199
    42100my $options = { 'name'     => "Collage",
     
    58116    }   
    59117
    60     my ($title, $list);
     118    my ($title, $geometry, $verbosity, $maxDepth, $imageType, $bgcolor, $refreshDelay, $isJava2, $caption, $maxDisplay, $maxDownloads, $list);
    61119
    62120    if (!parsargv::parse(\@_,
    63              q^buttonname/.*/^, \$title,
     121             q^buttonname/.*/Collage^, \$title,
     122             q^geometry/.*/600x300^, \$geometry,
     123             q^verbosity/.*/3^, \$verbosity,
     124             q^maxDepth/.*/3^, \$maxDepth,
     125#            q^maxDownloads/.*/^, \$maxDownloads,
     126             q^maxDisplay/.*/25^, \$maxDisplay,
     127             q^imageType/.*/.jpg%.png^, \$imageType,
     128             q^bgcolor/.*/\#96c29a^, \$bgcolor,
     129             q^refreshDelay/.*/1200^, \$refreshDelay,
     130             q^isJava2/.*/auto^, \$isJava2,
     131             q^imageMustNotHave/.*/hl=\%x=\%gt=\%gc=\%.pr^, \$imageMustNotHave,
     132             q^caption/.*/ ^, \$caption,
    64133             "allow_extra_options")) {
    65134   
     
    76145    $self->{'list'} = $list;
    77146    $self->{'title'} = $title;
    78    
     147    $self->{'geometry'} = $geometry;
     148    $self->{'verbosity'} = $verbosity;
     149    $self->{'maxDepth'} = $maxDepth;
     150    $self->{'maxDownloads'} = $maxDownloads;
     151    $self->{'maxDisplay'} = $maxDisplay;
     152    $self->{'imageType'} = $imageType;
     153    $self->{'bgcolor'} = $bgcolor;
     154    $self->{'refreshDelay'} = $refreshDelay;
     155    $self->{'isJava2'} = $isJava2;
     156#    $self->{'imageMustNotHave'} = $imageMustNotHave;
     157    $self->{'caption'} = $caption;
    79158    return bless $self, $class;
    80159}
     
    122201
    123202    return $classifyinfo;
     203
    124204}
    125205
     
    128208    my $self = shift (@_);
    129209    my ($title, $childtype, $thistype) = @_;
    130    
    131    
     210
     211    my $geometry = $self->{'geometry'};
     212    my ($x_dim,$y_dim) = ($geometry =~ m/^(.*)x(.*)$/);
     213    my $verbosity = $self->{'verbosity'};
     214    my $maxDepth = $self->{'maxDepth'};
     215#    my $maxDownloads = $self->{'maxDownloads'};
     216    my $maxDisplay = $self->{'maxDisplay'};
     217    my $imageType = $self->{'imageType'};
     218    my $bgcolor = $self->{'bgcolor'};
     219    my $refreshDelay = $self->{'refreshDelay'};
     220    my $isJava2 = $self->{'isJava2'};
     221    my $imageMustNotHave = $self->{'imageMustNotHave'};
     222    my $caption = $self->{'caption'};
     223
     224    if (!defined($maxDownloads)) {
     225    $maxDownloads="";
     226    }
     227
     228    my $parameters;
     229
     230    $parameters = "xdim=".$x_dim;
     231    $parameters .= ";ydim=".$y_dim;
     232    $parameters .= ";geometry=".$self->{'geometry'};
     233    $parameters .= ";verbosity=".$self->{'verbosity'};
     234    $parameters .= ";maxDepth=".$self->{'maxDepth'};
     235#    $parameters .= ";maxDownloads=".$maxDownloads;
     236    $parameters .= ";maxDisplay=".$self->{'maxDisplay'};
     237    $parameters .= ";imageType=".$self->{'imageType'};
     238    $parameters .= ";bgcolor=".$self->{'bgcolor'};
     239    $parameters .= ";refreshDelay=".$self->{'refreshDelay'};
     240    $parameters .= ";isJava2=".$self->{'isJava2'};
     241    $parameters .= ";caption=".$self->{'caption'};
     242
     243#    $parameters .= ";imageMustNotHave=".$self->{'imageMustNotHave'};
     244
    132245    # organise into classification structure
    133246    my %classifyinfo = ('thistype'=>$thistype,
    134247            'childtype'=>$childtype,
    135248            'Title'=>$title,
     249                        'parameters'=> $parameters,
    136250            'contains'=>[]);
    137251   
Note: See TracChangeset for help on using the changeset viewer.