Diff for /loncom/xml/londefdef.pm between versions 1.403.4.3 and 1.412

version 1.403.4.3, 2010/11/13 01:43:01 version 1.412, 2009/10/15 22:39:58
Line 538  sub start_body { Line 538  sub start_body {
   
  my $extra_head = &generate_css_links();   my $extra_head = &generate_css_links();
   
       # Breadcrumbs
       &Apache::lonhtmlcommon::clear_breadcrumbs();
       if ($env{'request.state'} eq 'construct') {
           &Apache::lonhtmlcommon::add_breadcrumb({
               'text'  => 'Construction Space',
               'href'  => &Apache::loncommon::authorspace(),
           });
           &Apache::lonhtmlcommon::add_breadcrumb({
               'text'  => 'HTML Editor',
               'href'  => '',
           });
       } else {
           # FIXME Where are we?
       }
   
  $currentstring =    $currentstring = 
     &Apache::loncommon::start_page($Apache::londefdef::title,      &Apache::loncommon::start_page($Apache::londefdef::title,
    $Apache::londefdef::head     $Apache::londefdef::head
       .$extra_head,        .$extra_head,
    {'add_entries'    => $token->[2],     {'add_entries'    => $token->[2],
     'no_title'       => 1,  #    'no_title'       => 1,
     'force_register' => 1});      'force_register' => 1});
   
  if ($env{'request.state'} ne 'published') {          if ($env{'request.state'} eq 'construct') {
     $currentstring.=&Apache::lonmenu::constspaceform();              $currentstring .= &Apache::lonhtmlcommon::breadcrumbs();
     $currentstring.=&Apache::londefdef::edit_controls();          }
  }  
  $currentstring.=&Apache::lonxml::message_location();          my $header = '';
           if ($env{'request.state'} ne 'published' &&
               $env{'request.state'} ne 'construct') {
               $header=&Apache::lonmenu::constspaceform();
           }
           if ($env{'request.state'} ne 'published') {
               $header.=&Apache::londefdef::edit_controls();
           }
           if ($env{'request.state'} eq 'construct') {
               $currentstring.=&Apache::loncommon::head_subbox(
                                   &Apache::loncommon::CSTR_pageheader()
                                  .$header);
           } elsif ($env{'request.state'} eq 'edit') {
               $currentstring.=&Apache::loncommon::head_subbox($header);
           }
           $currentstring.=&Apache::lonxml::message_location();
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $currentstring = '';   #  '\begin{document}' is in header.          $currentstring = '';   #  '\begin{document}' is in header.
     }       }
   
     return $currentstring;      return $currentstring;
 }  }
   
Line 570  sub edit_controls { Line 601  sub edit_controls {
 </div>';  </div>';
     }      }
     $result .= '      $result .= '
 <div class="LC_edit_problem_header_edit_row"><input type="submit" name="editmode" accesskey="e" value="'.&mt('Edit').'" /></div></div>  <div><input type="submit" name="editmode" accesskey="e" value="'.&mt('Edit').'" />';
       if (($env{'request.course.id'}) && ($env{'form.forceedit'})) {
           $result .= ('&nbsp;' x 3).'<input type="button" value="'.&mt('Course View').'" onclick="javascript:location.href=currentURL" />';
       }
       $result .= '</div>
   </div>
 </form>  </form>
 <br />';  ';
     return $result;      return $result;
 }  }
   
Line 1349  sub start_font { Line 1385  sub start_font {
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web' || $target eq 'webgrade') {      if ($target eq 'web' || $target eq 'webgrade') {
  my $face=&Apache::lonxml::get_param('face',$parstack,$safeeval);   my $face=&Apache::lonxml::get_param('face',$parstack,$safeeval);
  if ($face!~/symbol/i) {  
     if (($env{'browser.fontenhance'} eq 'on') ||   
  ($env{'browser.blackwhite'} eq 'on')) { return ''; }  
  }  
  $currentstring = $token->[4];        $currentstring = $token->[4];     
     }  elsif ($target eq 'tex') {      }  elsif ($target eq 'tex') {
  my $fontsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval);   my $fontsize=&Apache::lonxml::get_param('TeXsize',$parstack,$safeeval);
Line 2018  sub start_table { Line 2050  sub start_table {
  my $width  = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval, undef, 0);   my $width  = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval, undef, 0);
  my $theme  = &Apache::lonxml::get_param('TeXtheme', $parstack, $safeeval, undef, 0);   my $theme  = &Apache::lonxml::get_param('TeXtheme', $parstack, $safeeval, undef, 0);
  my $align  = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 0);   my $align  = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 0);
         my $cell_border = &Apache::lonxml::get_param('rules', $parstack, $safeeval, undef, 0);  
   
  # The only thing that needs any figuring out is the width.. and then only if it is   # The only thing that needs any figuring out is the width.. and then only if it is
  # a percent. If not it's assumed to be some valid TeX measurement unit e.g. 3.0cm   # a percent. If not it's assumed to be some valid TeX measurement unit e.g. 3.0cm
  #   #
   
  my $table = new Apache::lontable();   my $table = new Apache::lontable();
         if ((defined $border) && ($border > 0)) {   if ($border ne '') {
         #    &Apache::lonnet::logthis("Turning on table borders: $border");      $table->table_border(1);
             $table->table_border(1);      $table->cell_border(1);
             if ($cell_border ne 'none') {   }
                 $table->cell_border(1); # html specs that border turns on both...unless rules='none'.   if ($theme ne '') {
             }  
         }  
         # Only all or nothing for cell borders for now:  
   
         if ((defined $cell_border) && ($cell_border ne 'none')) {  
         #    &Apache::lonnet::logthis("Turning on cell borders: $cell_border");  
             $table->cell_border(1);  
         }  
  if (defined $theme) {  
     $table->theme($theme);      $table->theme($theme);
  }   }
  if (defined $align) {   if ($align ne '') {
     $table->alignment($align);      $table->alignment($align);
  }   }
   
  # Missing width is most of page width   # Missing width is most of page width
   
  if (!(defined $width)) {   if ($width eq "") {
     $width = '70%';      $width = '70%';
  }   }
   
  # If a percentage, need to calculate what this means in terms of   # If a percentage, need to calculate what this means in terms of
  # page width:   # page width:
   
Line 2702  sub tag_check { Line 2724  sub tag_check {
 #  #
   
 sub cell_config_hash {  sub cell_config_hash {
     my ($align, $rowspan, $colspan, $width) = @_;      my ($align, $rowspan, $colspan) = @_;
     my %config;      my %config;
     if ($align ne '') {      if ($align ne '') {
  $config{'halign'} = $align;   $config{'halign'} = $align;
Line 2713  sub cell_config_hash { Line 2735  sub cell_config_hash {
     if ($rowspan ne '') {      if ($rowspan ne '') {
  $config{'rowspan'} = $rowspan;   $config{'rowspan'} = $rowspan;
     }      }
     if ($width ne '') {  
         $config{'width'} = $width;  
     }  
     return \%config;      return \%config;
 }  }
     
Line 2727  sub start_td_tex { Line 2746  sub start_td_tex {
     # attributes, but empty of text.  end_td_tex will      # attributes, but empty of text.  end_td_tex will
     # fetch the contents from the recursive parse and      # fetch the contents from the recursive parse and
     # fill the cell with them:      # fill the cell with them:
     my $align   = &Apache::lonxml::get_param('align', $parstack, $safeeval);      my $align   = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 1);
     my $rowspan = &Apache::lonxml::get_param('rowspan', $parstack, $safeeval);      my $rowspan = &Apache::lonxml::get_param('rowspan', $parstack, $safeeval, undef, 1);
     my $colspan = &Apache::lonxml::get_param('colspan', $parstack, $safeeval);      my $colspan = &Apache::lonxml::get_param('colspan', $parstack, $safeeval, undef, 1);
     my $width   = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval);  
     my $config = &cell_config_hash($align, $rowspan, $colspan, $width);      my $config = &cell_config_hash($align, $rowspan, $colspan);
   
     my $table = $Apache::londefdef::table[-1];      my $table = $Apache::londefdef::table[-1];
     $table->add_cell('', $config);      $table->add_cell('', $config);
Line 3258  sub start_img { Line 3277  sub start_img {
    ['','bottom','middle','top','left','right'],$token,5);     ['','bottom','middle','top','left','right'],$token,5);
  $currentstring .=&Apache::edit::select_arg('TeXwrap:', 'TeXwrap',   $currentstring .=&Apache::edit::select_arg('TeXwrap:', 'TeXwrap',
    ['', 'none','parbox', 'parpic', 'wrapfigure'], $token, 2);     ['', 'none','parbox', 'parpic', 'wrapfigure'], $token, 2);
         my $alt=    &Apache::lonxml::get_param('alt',$parstack,$safeeval);  
         my $enc=    &Apache::lonxml::get_param('encrypturl',$parstack,$safeeval);  
   
  $currentstring .=&Apache::edit::select_arg('Encrypt URL:','encrypturl',   $currentstring .=&Apache::edit::select_arg('Encrypt URL:','encrypturl',
    ['no','yes'], $token, 2);     ['no','yes'], $token, 2);
         if (($alt=~/\S/) && (lc($enc) eq 'yes')) {  
            $currentstring.='<br /><span class="LC_warning">'.&mt('Warning: the description "[_1]" will be available, even for encrypted URL',$alt).'</span><br />';  
         }  
  $currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();   $currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
  my $src=    &Apache::lonxml::get_param('src',$parstack,$safeeval);   my $src=    &Apache::lonxml::get_param('src',$parstack,$safeeval);
    my $alt=    &Apache::lonxml::get_param('alt',$parstack,$safeeval);
  my $width=  &Apache::lonxml::get_param('width',$parstack,$safeeval);   my $width=  &Apache::lonxml::get_param('width',$parstack,$safeeval);
  my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);   my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
   
         if ($token->[2]{'src'}=~/\$/) {          if ($token->[2]{'src'}=~/\$/) {
            $currentstring.=&mt('Variable image source');             $currentstring.='Variable image source';
         } elsif ($token->[2]{'src'}=~/\S/) {          } else {
    $currentstring .= '<img src="'.$src.'" alt="'.$alt.'" ';     $currentstring .= '<img src="'.$src.'" alt="'.$alt.'" ';
    if ($width) { $currentstring.=' width="'.$width.'" '; }     if ($width) { $currentstring.=' width="'.$width.'" '; }
    if ($height) { $currentstring.=' height="'.$height.'" '; }     if ($height) { $currentstring.=' height="'.$height.'" '; }
    $currentstring .= ' />';     $currentstring .= ' />';
         } else {  
            $currentstring.=&mt("No image source specified");  
         }          }
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my ($osrc,$owidth,$oheight)=   my ($osrc,$owidth,$oheight)=
Line 3528  sub start_frameset { Line 3540  sub start_frameset {
     &Apache::loncommon::start_page($Apache::londefdef::title,      &Apache::loncommon::start_page($Apache::londefdef::title,
    $Apache::londefdef::head,     $Apache::londefdef::head,
    {'add_entries'    => $token->[2],     {'add_entries'    => $token->[2],
     'no_title'       => 1,  #    'no_title'       => 1,
     'force_register' => 1,      'force_register' => 1,
     'frameset'       => 1,});      'frameset'       => 1,});
   
Line 4741  sub align_latex_image { Line 4753  sub align_latex_image {
     #    Even though we set a default alignment value, the user      #    Even though we set a default alignment value, the user
     #    could have given us an illegal value.  In that case we      #    could have given us an illegal value.  In that case we
     #    just use the default alignment of bottom..      #    just use the default alignment of bottom..
     $currentstring = '';      $currentstring = "\n% figurewrapping \n";
     if      ($align eq "top")    {      if      ($align eq "top")    {
  $currentstring .= '\raisebox{-'.$height.'mm}{'.$image;   $currentstring .= '\raisebox{-'.$height.'mm}{'.$image;
  $closure = '}';   $closure = '}';
Line 4784  sub align_latex_image { Line 4796  sub align_latex_image {
  $currentstring .= "{$image";   $currentstring .= "{$image";
  $closure       = '}';   $closure       = '}';
     }      }
       $currentstring .= "\n% end wrappage\n";
       $closure        = "\n% Begin closure\n".$closure."\n% End closure\n";
     return ($currentstring, $closure);      return ($currentstring, $closure);
 }  }
   
Line 4803  sub is_inside_of { Line 4817  sub is_inside_of {
 #  #
 #   This sub provides the typical LaTeX prefix matter for tex output:  #   This sub provides the typical LaTeX prefix matter for tex output:
 #  #
 sub latex_header {  sub latex_header
   {
     my ($mode) = @_;      my ($mode) = @_;
     my $currentstring = '';      my $currentstring = '';
   

Removed from v.1.403.4.3  
changed lines
  Added in v.1.412


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>