--- loncom/interface/spreadsheet/Spreadsheet.pm 2003/05/16 20:55:11 1.1
+++ loncom/interface/spreadsheet/Spreadsheet.pm 2003/05/27 20:36:02 1.7
@@ -1,5 +1,5 @@
#
-# $Id: Spreadsheet.pm,v 1.1 2003/05/16 20:55:11 matthew Exp $
+# $Id: Spreadsheet.pm,v 1.7 2003/05/27 20:36:02 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -97,6 +97,11 @@ sub new {
chome => $ENV{'course.'.$ENV{'request.course.id'}.'.home'},
coursedesc => $ENV{'course.'.$ENV{'request.course.id'}.'.description'},
coursefilename => $ENV{'request.course.fn'},
+ temporary => '',
+ #
+ # blackout is used to determine if any data needs to be hidden from the
+ # student.
+ blackout => 0,
#
# Data storage
formulas => {},
@@ -1105,6 +1110,24 @@ sub calcsheet {
## Output Helpers
##
###########################################################
+sub display {
+ my $self = shift;
+ my ($r) = @_;
+ $self->compute($r);
+ my $outputmode = 'html';
+ if ($ENV{'form.output_format'} =~ /^(html|excel|csv)$/) {
+ $outputmode = $ENV{'form.output_format'};
+ }
+ if ($outputmode eq 'html') {
+ $self->outsheet_html($r);
+ } elsif ($outputmode eq 'excel') {
+ $self->outsheet_excel($r);
+ } elsif ($outputmode eq 'csv') {
+ $self->outsheet_csv($r);
+ }
+ return;
+}
+
############################################
## HTML output routines ##
############################################
@@ -1135,8 +1158,8 @@ sub html_template_row {
for (my $i = 0; $i<=$#rowdata; $i++) {
my $cell = $rowdata[$i];
if ($i < $num_uneditable) {
- $row_html .= '
'.
- &html_editable_cell($cell,'#DDCCFF',$allowed).' | ';
+ $row_html .= ''.
+ &html_uneditable_cell($cell,'#FFDDDD',$allowed).' | ';
} else {
$row_html .= ''.
&html_editable_cell($cell,'#EOFFDD',$allowed).' | ';
@@ -1207,6 +1230,55 @@ sub html_row {
return $row_html;
}
+sub html_header {
+ my $self = shift;
+ return '' if (! $ENV{'request.role.adv'});
+ return "\n".
+ 'Output Format |
---|
'."\n".
+ '
'.&output_selector()." |
\n".
+ "
\n";
+}
+
+sub output_selector {
+ my $output_selector = '