cvsuser     04/10/27 08:53:28

  Added:       App-Widget/lib/App/Widget SelectSaveAs.pm
  Log:
  new
  
  Revision  Changes    Path
  1.1                  p5ee/App-Widget/lib/App/Widget/SelectSaveAs.pm
  
  Index: SelectSaveAs.pm
  ===================================================================
  
  ######################################################################
  ## $Id: SelectSaveAs.pm,v 1.1 2004/10/27 15:53:28 spadkins Exp $
  ######################################################################
  
  package App::Widget::SelectSaveAs;
  $VERSION = do { my @r=(q$Revision: 1.1 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  
  use App::Widget::StylizableContainer;
  @ISA = ( "App::Widget::StylizableContainer" );
  
  use strict;
  
  =head1 NAME
  
  App::Widget::SelectSaveAs - Select from a list: Open Save Delete SaveAs
  
  =head1 SYNOPSIS
  
  
  =cut
  
  ######################################################################
  # ATTRIBUTES
  ######################################################################
  
  # INPUTS FROM THE ENVIRONMENT
  
  =head1 DESCRIPTION
  
  This class is a select element, followed by four buttons.
  
  =cut
  
  ######################################################################
  # CONSTRUCTOR
  ######################################################################
  
  sub _init {
      my $self = shift;
      $self->SUPER::_init(@_);
      my $name = $self->{name};
      my $context = $self->{context};
  
      # NOTE: container is inferred by the naming convention
      #       otherwise, I should include "container => $name," line
      $context->widget("${name}.selected",  # note: container is inferred
          class => "App::Widget::Select",
          #lightweight => 1,
      );
  
      $context->widget("${name}.open",
          class => "App::Widget::Button",
          label => "Open",
          #lightweight => 1,
      );
  
      $context->widget("${name}.save",
          class => "App::Widget::Button",
          label => "Save",
          #lightweight => 1,
      );
  
      $context->widget("${name}.delete",
          class => "App::Widget::Button",
          label => "Delete",
          #lightweight => 1,
      );
  
      $context->widget("${name}.saveas",
          class => "App::Widget::Button",
          label => "Save As",
          #lightweight => 1,
      );
  
      $context->widget("${name}.saveas_selected",  # note: container is inferred
          class => "App::Widget::TextField",
          #lightweight => 1,
      );
  }
  
  ######################################################################
  # EVENTS
  ######################################################################
  
  # Usage: $widget->handle_event($name, $event, @args);
  #sub handle_event {
  #    my ($self, $name, $event, @args) = @_;
  #
  #    if ($event eq "change") {
  #        #$self->split_date($name, $event, @args);
  #        return 1;
  #    }
  #    elsif ($event eq "click") {
  #        #$self->split_date($name, $event, @args);
  #        return 1;
  #    }
  #    else {
  #        return $self->SUPER::handle_event($name, $event, @args);
  #    }
  #}
  
  ######################################################################
  # OUTPUT METHODS
  ######################################################################
  
  sub html {
      my $self = shift;
      my ($context, $name);
  
      $context = $self->{context};
      $name = $self->{name};
  
      return 
          $context->widget("${name}.selected")->html() . " " .
          $context->widget("${name}.open")->html() . " " .
          $context->widget("${name}.save")->html() . " " .
          $context->widget("${name}.delete")->html() . " : " .
          $context->widget("${name}.saveas")->html() . " " .
          $context->widget("${name}.saveas_selected")->html();
          # $self->callback_event_tag("change");
  }
  
  1;
  
  
  
  

Reply via email to