Mercurial > hg > ltpda
diff m-toolbox/classes/@minfo/tohtml.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/classes/@minfo/tohtml.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,190 @@ +% TOHTML convert an minfo object to an html document +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% DESCRIPTION: TOHTML convert an minfo object to an html document +% +% VERSION: $Id: tohtml.m,v 1.19 2011/08/24 06:06:04 hewitson Exp $ +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +function varargout = tohtml(varargin) + + % Get minfo objects + objs = utils.helper.collect_objects(varargin(:), 'minfo'); + + if numel(objs) > 1 + error('### Only works for one info object'); + end + + txts = html(objs(1)); + + % display the objects + if nargout > 0 + varargout{1} = txts; + elseif nargout == 0; + disp(txts); + end +end + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Local Functions % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +function txt = html(ii) + + helpPath = utils.helper.getHelpPath(); + docStyleFile = ['file://' helpPath '/ug/docstyle.css']; + prefArrowFile = ['file://' helpPath '/ug/b_prev.gif']; + nextArrowFile = ['file://' helpPath '/ug/b_next.gif']; + toTopFile = ['file://' helpPath '/ug/doc_to_top_up.gif']; + mainClassDescFile = ['file://' helpPath '/ug/class_desc_main.html']; + helptocFile = ['file://' helpPath '/helptoc.html']; + classDescFile = ['file://' helpPath '/ug/class_desc_', ii.mclass, '.html']; + + txt = ''; + + % First the header table + txt = [txt sprintf('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"\n')]; + txt = [txt sprintf(' "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">\n\n')]; + + txt = [txt sprintf('<html lang="en">\n')]; + + % Head definition + txt = [txt sprintf(' <head>\n')]; + txt = [txt sprintf(' <title>Method Report for %s.%s</title>\n', ii.mclass, ii.mname)]; + txt = [txt sprintf(' <link rel="stylesheet" type="text/css" href="%s">\n', docStyleFile)]; + txt = [txt sprintf(' </head>\n\n')]; + + txt = [txt sprintf(' <body>\n\n')]; + + txt = [txt sprintf(' <a name="top_of_page" id="top_of_page"></a>\n')]; + txt = [txt sprintf(' <p style="font-size:1px;"> </p>\n\n')]; + + % Table of the navigation (top) + txt = [txt sprintf(' <table class="nav" summary="Navigation aid" border="0" width="100%%" cellpadding="0" cellspacing="0">\n')]; + txt = [txt sprintf(' <tr>\n')]; + txt = [txt sprintf(' <td valign="baseline"><b>LTPDA Toolbox</b></td>\n')]; + txt = [txt sprintf(' <td><a href="%s">contents</a></td>\n', helptocFile)]; + txt = [txt sprintf(' <td valign="baseline" align="right"><a href=\n')]; + txt = [txt sprintf(' "%s"><img src=\n', mainClassDescFile)]; + txt = [txt sprintf(' "%s" border="0" align="bottom" alt="Class descriptions"></img></a> <a href=\n', prefArrowFile)]; + txt = [txt sprintf(' "%s"><img src=\n', classDescFile)]; + txt = [txt sprintf(' "%s" border="0" align="bottom" alt="%s Class"></a></td>\n', nextArrowFile, upper(ii.mclass))]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' </table>\n\n')]; + + txt = [txt sprintf(' <h1 class="title">Method Report for %s.%s</h1>\n', ii.mclass, ii.mname)]; + txt = [txt sprintf(' <hr>\n\n')]; + + % Documentation + txt = [txt sprintf('<h2>Description</h2>\n')]; + txt = [txt sprintf('<p>%s</p>', ii.description)]; + + % Link-Table of the sets + txt = [txt sprintf(' <p><!-- Link-Table of the sets -->\n')]; + txt = [txt sprintf(' <table border="0" cellpadding="4" cellspacing="0" class="pagenavtable">\n')]; + txt = [txt sprintf(' <tr><th>Sets for this method …</th></tr>\n')]; + for ll=1:numel(ii.sets) + set = ii.sets{ll}; + txt = [txt sprintf(' <tr><td><a href="#%d">%s</a></td></tr>\n', ll, set)]; + end + txt = [txt sprintf(' </table>\n')]; + txt = [txt sprintf(' <p>\n\n')]; + + + % Table of the sets + for ll=1:numel(ii.sets) + set = ii.sets{ll}; + pl = ii.plists(ll); + pl.setName(set); + txt = [txt pl.tohtml(num2str(ll))]; + + % Back to top + txt = [txt sprintf(' <!-- ===== Back to top ===== -->\n')]; + txt = [txt sprintf(' <a href="#top_of_page">\n')]; + txt = [txt sprintf(' <img src="%s" border="0" align="bottom" alt="back to top"/>\n', toTopFile)]; + txt = [txt sprintf(' back to top\n')]; + txt = [txt sprintf(' </a>\n')]; + txt = [txt sprintf(' </p>\n\n')]; + end + + % Table of the minfo object + txt = [txt sprintf(' <p><!-- Table of the minfo object -->\n')]; + txt = [txt sprintf(' <table cellspacing="0" class="body" cellpadding="2" border="0" width="60%%">\n')]; + txt = [txt sprintf(' <colgroup>\n')]; + txt = [txt sprintf(' <col width="25%%"/>\n')]; + txt = [txt sprintf(' <col width="75%%"/>\n')]; + txt = [txt sprintf(' </colgroup>\n')]; + txt = [txt sprintf(' <thead>\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <th class="categorylist" colspan="2">Some information of the method %s/%s are listed below:</th>\n', ii.mclass, ii.mname)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' </thead>\n')]; + txt = [txt sprintf(' <tbody>\n')]; + txt = [txt sprintf(' <!-- Property: ''mclass'' -->\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td bgcolor="#f3f4f5">Class name</td>\n')]; + txt = [txt sprintf(' <td bgcolor="#f3f4f5">%s</td>\n', ii.mclass)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' <!-- Property: ''mname'' -->\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td bgcolor="#ffffff">Method name</td>\n')]; + txt = [txt sprintf(' <td bgcolor="#ffffff">%s</td>\n', ii.mname)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' <!-- Property: ''mcategory'' -->\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td bgcolor="#f3f4f5">Category</td>\n')]; + txt = [txt sprintf(' <td bgcolor="#f3f4f5">%s</td>\n', ii.mcategory)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' <!-- Property: ''mversion'' -->\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td bgcolor="#ffffff">CVS Version</td>\n')]; + txt = [txt sprintf(' <td bgcolor="#ffffff">%s</td>\n', ii.mversion)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' <!-- Property: ''argsmin'' -->\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td bgcolor="#f3f4f5">Min input args</td>\n')]; + txt = [txt sprintf(' <td bgcolor="#f3f4f5">%d</td>\n', ii.argsmin)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' <!-- Property: ''argsmax'' -->\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td bgcolor="#ffffff">Max input args</td>\n')]; + txt = [txt sprintf(' <td bgcolor="#ffffff">%d</td>\n', ii.argsmax)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' <!-- Property: ''outmin'' -->\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td bgcolor="#f3f4f5">Min output args</td>\n')]; + txt = [txt sprintf(' <td bgcolor="#f3f4f5">%d</td>\n', ii.outmin)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' <!-- Property: ''outmax'' -->\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td bgcolor="#ffffff">Max output args</td>\n')]; + txt = [txt sprintf(' <td bgcolor="#ffffff">%d</td>\n', ii.outmax)]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' </tbody>\n')]; + txt = [txt sprintf(' </table>\n')]; + txt = [txt sprintf(' </p>\n\n')]; + + % Table of the navigation (bottom) + txt = [txt sprintf(' <br>\n')]; + txt = [txt sprintf(' <table class="nav" summary="Navigation aid" border="0" width="100%%" cellpadding="0" cellspacing="0">\n')]; + txt = [txt sprintf(' <tr valign="top">\n')]; + txt = [txt sprintf(' <td align="left" width="20">\n')]; + txt = [txt sprintf(' <a href="%s"><img src="%s" border="0" align="bottom" alt="Class descriptions"></img></a>\n', mainClassDescFile, prefArrowFile)]; + txt = [txt sprintf(' </td>\n')]; + txt = [txt sprintf(' <td align="left">Class descriptions</td>\n')]; + txt = [txt sprintf(' <td> </td>\n')]; + txt = [txt sprintf(' <td align="right">%s Class</td>\n', upper(ii.mclass))]; + txt = [txt sprintf(' <td align="right" width="20">\n')]; + txt = [txt sprintf(' <a href="%s"><img src="%s" border="0" align="bottom" alt="%s Class"></img></a>\n', classDescFile, nextArrowFile, upper(ii.mclass))]; + txt = [txt sprintf(' </td>\n')]; + txt = [txt sprintf(' </tr>\n')]; + txt = [txt sprintf(' </table><br>\n')]; + + txt = [txt sprintf(' <p class="copy">©LTP Team</p>\n')]; + + txt = [txt sprintf(' </body>\n')]; + txt = [txt sprintf('</html>')]; + +end +