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 / include / bootloader / elilo / widgets.ycp < prev   
Text File  |  2006-11-29  |  4KB  |  160 lines

  1. /**
  2.  * File:
  3.  *      include/bootloader/elilo/widgets.ycp
  4.  *
  5.  * Module:
  6.  *      Bootloader installation and configuration
  7.  *
  8.  * Summary:
  9.  *      Widgets specific for ELILO bootloader
  10.  *
  11.  * Authors:
  12.  *      Jiri Srain <jsrain@suse.cz>
  13.  *
  14.  * $Id: widgets.ycp 25285 2005-08-31 06:26:18Z jsrain $
  15.  *
  16.  */
  17.  
  18.  
  19. {
  20.  
  21.     textdomain "bootloader";
  22.  
  23.     import "Label";
  24.     import "Mode";
  25.     import "BootCommon";
  26.     import "TablePopup";
  27.     include "bootloader/routines/popups.ycp";
  28.  
  29.  
  30.  
  31. // Bootloader target widget
  32.  
  33.     /**
  34.       * Get widget term
  35.       * @return widget term
  36.       */
  37.     global define term getTargetWidget () ``{
  38.     boolean have_old = (old_efi_entry != nil && old_efi_entry != "");
  39.  
  40.     term widget = `VBox (
  41.         `VSpacing (1),
  42.         `Left (`CheckBox (`id (`create_entry), `opt (`notify),
  43.         // check box
  44.         _("&Create EFI Entry"))),
  45.         `VSpacing (0.6),
  46.         `Left (`TextEntry (`id (`location),
  47.         // text entry label
  48.         _("&EFI Entry Name"))),
  49.         have_old ? `VSpacing (1) : `VSpacing (0),
  50.         have_old
  51.         ? `Left (`CheckBox (`id (`remove_old),
  52.             // check box
  53.             sformat (_("&Remove Old EFI Entry (%1)"), old_efi_entry)))
  54.         : `VSpacing (0),
  55.         `VSpacing (1)
  56.     );
  57.     return widget;
  58.     }
  59.  
  60.     /**
  61.       * Init function of a popup
  62.       * @param opt_id any option id
  63.       * @param opt_key any option key
  64.       */
  65.     global define void targetInit (string widget) ``{
  66.     boolean have_old = (old_efi_entry != nil && old_efi_entry != "");
  67.     UI::ChangeWidget (`id (`create_entry), `Value, create_efi_entry);
  68.     UI::ChangeWidget (`id (`location), `Value, efi_entry_name);
  69.     UI::ChangeWidget (`id (`location), `Enabled, create_efi_entry);
  70.     if (have_old)
  71.     {
  72.         UI::ChangeWidget (`id (`remove_old), `Value, remove_old_efi);
  73.         UI::ChangeWidget (`id (`remove_old), `Enabled, create_efi_entry);
  74.     }
  75.     UI::SetFocus (`id (`create_entry));
  76.     }
  77.  
  78.     /**
  79.       * Handle function of widget
  80.       * @param opt_id any option id
  81.       * @param opt_key any option key
  82.       * @param event map event that occured
  83.       */
  84.     global symbol targetHandle (string widget, map event) ``{
  85.     boolean have_old = (old_efi_entry != nil && old_efi_entry != "");
  86.     UI::ChangeWidget (`id (`location), `Enabled,
  87.         UI::QueryWidget (`id (`create_entry), `Value));
  88.     if (have_old)
  89.     {
  90.         UI::ChangeWidget (`id (`remove_old), `Enabled,
  91.         UI::QueryWidget (`id (`create_entry), `Value));
  92.     }
  93.     }
  94.  
  95.     /**
  96.       * Store function of a popup
  97.       * @param opt_id any option id
  98.       * @param opt_key any option key
  99.       */
  100.     global define void targetStore (string widget, map event) ``{
  101.     boolean have_old = (old_efi_entry != nil && old_efi_entry != "");
  102.     efi_entry_name = (string)
  103.         UI::QueryWidget (`id (`location), `Value);
  104.     if (have_old)
  105.     {
  106.         remove_old_efi = (boolean)
  107.         UI::QueryWidget (`id (`remove_old), `Value);
  108.     }
  109.     BootCommon::location_changed = true;
  110.     create_efi_entry = (boolean)
  111.         UI::QueryWidget (`id (`create_entry), `Value);
  112.     BootCommon::location_changed = true;
  113.     }
  114.  
  115.     /**
  116.       * Validate function of a popup
  117.       * @param opt_id any option id
  118.       * @param opt_key any option key
  119.       * @param event map event that caused validation
  120.       * @return boolean true if widget settings ok
  121.       */
  122.     global define boolean targetValidate (string widget, map event)``{
  123.     return true; // FIXME check for valid characters
  124.             // FIXME check if not empty
  125.     }
  126.  
  127.  
  128.  
  129. /**
  130.  * Cache for ppcWidgets function
  131.  */
  132. map<string,map<string,any> > _elilo_widgets = nil;
  133.  
  134. /**
  135.  * Get widgets specific for ppc
  136.  * @return a map describing all ppc-specific widgets
  137.  */
  138. map<string,map<string,any> > Widgets () {
  139.     if (_elilo_widgets == nil)
  140.     {
  141.         _elilo_widgets = $[
  142.             "loader_location" : $[
  143.         "widget" : `func,
  144.         "widget_func" : getTargetWidget,
  145.         "init" : targetInit,
  146.         "handle" : targetHandle,
  147.         "store" : targetStore,
  148.                 "validate_type" : `function,
  149.         "validate" : targetValidate,
  150.                 "help" : " ",
  151.             ],
  152.         ];
  153.     }
  154.     return _elilo_widgets;
  155. }
  156.  
  157.  
  158.  
  159. }
  160.