home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / modules / Summary.ycp < prev    next >
Text File  |  2006-11-29  |  5KB  |  177 lines

  1. /**
  2.  * File:    modules/Summary.ycp
  3.  * Module:    yast2
  4.  * Summary:    Support for summaries of the configured devices
  5.  * Authors:    Jan Holesovsky <kendy@suse.cz>
  6.  *        Stefan Hundhammer <sh@suse.de>
  7.  *
  8.  * $Id: Summary.ycp 26744 2006-01-03 14:23:45Z visnov $
  9.  *
  10.  * Create a unified-looking RichText description of the not configured
  11.  * and configured devices.
  12.  */
  13.  
  14. /**
  15.  * Example of Summary.ycp usage
  16.  *
  17.  * @example  {
  18.  * @example      import "Summary";
  19.  * @example
  20.  * @example      return Summary::DevicesList(
  21.  * @example      [
  22.  * @example          Summary::Device("Cannon BJC-6100", "Configured as lp."),
  23.  * @example          Summary::Device("Epson Stylus Color", Summary::NotConfigured())
  24.  * @example      ]);
  25.  * @example  }
  26.  *
  27.  * Another example of Summary.ycp usage
  28.  *
  29.  * @example  {
  30.  * @example      import "Summary";
  31.  * @example
  32.  * @example      return Summary::DevicesList([]);
  33.  * @example  }
  34.  */
  35.  
  36. {
  37.  
  38.     module "Summary";
  39.     textdomain "base";
  40.  
  41.     import "Mode";
  42.  
  43.     /**
  44.      * Function that creates a 'Not configured.' message.
  45.      * @return String with the message.
  46.      */
  47.     global define string NotConfigured() ``{
  48.     // translators: summary if the module has not been used yet in AutoYaST profile
  49.     return _("Not configured yet.");
  50.     };
  51.  
  52.     /**
  53.      * Function that creates the whole final product. "Not detected" will be returned
  54.      * if the list is empty.
  55.      *
  56.      * @param devices A list of output of the summaryDevice() calls
  57.      * @return string The resulting text.
  58.      */
  59.     global define string DevicesList(list<string> devices) ``{
  60.     string text = "";
  61.     if (size(devices) == 0)
  62.     {
  63.         if (!Mode::config ())
  64.         // translators: summary if no hardware was detected
  65.         text = sformat("<ul><li>%1</li></ul>", _("Not detected."));
  66.         else
  67.         text = sformat("<ul><li>%1</li></ul>", NotConfigured());
  68.     }
  69.     else
  70.     {
  71.         foreach(string dev, devices, ``{
  72.         text = text+dev;
  73.         });
  74.         text = sformat("<ul>%1</ul>", text);
  75.     }
  76.  
  77.     return text;
  78.     };
  79.  
  80.     /**
  81.      * Function that creates description of one device.
  82.      *
  83.      * @param name The name of the device given by probing
  84.      * @param description Additional description (how it was confgured or so)
  85.      * @return string String with the item.
  86.      */
  87.     global define string Device(string name, string description) ``{
  88.     return sformat("<li><p>%1<br>%2</p></li>",
  89.                name, description);
  90.     };
  91.  
  92.     /**
  93.      * Add a RichText section header to an existing summary.
  94.      *
  95.      * @param summary    previous RichText (HTML) summary to add to
  96.      * @param header    header to add (plain text, no HTML)
  97.      * @return string    the new summary including the new header
  98.      */
  99.     global define string AddHeader( string summary, string header ) ``{
  100.     return summary + "<h3>" + header + "</h3>";
  101.     };
  102.  
  103.     /**
  104.      * Add a line to an existing summary.
  105.      *
  106.      * @param summary    previous RichText (HTML) summary to add to
  107.      * @param line    line to add (plain text, no HTML)
  108.      * @return string    the new summary including the new line
  109.      */
  110.     global define string AddLine( string summary, string line ) ``{
  111.     return summary + "<p>" + line + "</p>";
  112.     };
  113.  
  114.     /**
  115.      * Add a newline to an existing summary.
  116.      *
  117.      * @param summary    previous RichText (HTML) summary to add to
  118.      * @return string    the new summary
  119.      */
  120.     global define string AddNewLine( string summary ) ``{
  121.     return summary + "<br>";
  122.     };
  123.  
  124.     /**
  125.      * Start a list within a summary.
  126.      *
  127.      * @param summary    previous RichText (HTML) summary to add to
  128.      * @return string    the new summary
  129.      */
  130.     global define string OpenList( string summary ) ``{
  131.     return summary + "<ul>";
  132.     };
  133.  
  134.     /**
  135.      * End a list within a summary.
  136.      *
  137.      * @param summary    previous RichText (HTML) summary to add to
  138.      * @return string    the new summary
  139.      */
  140.     global define string CloseList( string summary ) ``{
  141.     return summary + "</ul>";
  142.     };
  143.  
  144.     /**
  145.      * Add a list item to an existing summary.
  146.      * Requires a previous call to 'summaryOpenList()'.
  147.      *
  148.      * @param summary    previous RichText (HTML) summary to add to
  149.      * @param item    item to add (plain text, no HTML)
  150.      * @return string    the new summary including the new line
  151.      */
  152.     global define string AddListItem( string summary, string item ) ``{
  153.     return summary + "\n<li>" + item + "</li>";
  154.     };
  155.  
  156.  
  157.     /**
  158.      * Add a simple section to an existing summary,
  159.      * consisting of a header and one single item.
  160.      *
  161.      * @param summary    previous RichText (HTML) summary to add to
  162.      * @param header    section header (plain text, no HTML)
  163.      * @param item    section item   (plain text, no HTML)
  164.      * @return string    the new summary including the new line
  165.      */
  166.     global define string AddSimpleSection( string summary, string header, string item ) ``{
  167.     summary = AddHeader    ( summary, header );
  168.     summary = OpenList    ( summary );
  169.     summary = AddListItem    ( summary, item );
  170.     summary = CloseList    ( summary );
  171.  
  172.     return summary;
  173.     };
  174.  
  175. /* EOF */
  176. }
  177.