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 / clients / inst_xen_create.ycp < prev    next >
Text File  |  2006-11-29  |  3KB  |  109 lines

  1. /**
  2.  * Module:    inst_xen_create.ycp
  3.  *
  4.  * Authors:    Michael G. Fritch <mgfritch@novell.com>
  5.  *
  6.  * Purpose:    Ask user what type of Xen VM to create (new install or use existing).
  7.  *
  8.  * $Id: inst_xen_mode.ycp 28754 2006-03-09 12:33:30Z lslezak $
  9.  *
  10.  */
  11.  
  12. {
  13.  
  14. textdomain "vm";
  15.  
  16. import "VM_Common";
  17. import "Wizard";
  18. import "Popup";
  19. import "Report";
  20. import "Label";
  21. import "Mode";
  22.  
  23. // check whether X window system is accessible
  24. if ( VM_Common::isGraphicalDisplay() == false )
  25. {
  26.     // error - the installation runs in xterm, we need access to a X server
  27.     Report::Error(_("Virtual machine installation requires access to a graphical environment."));
  28.  
  29.     return `abort;
  30. }
  31.  
  32.  
  33. // screen title for the Xen create selection
  34. string title = _("Create a Virtual Machine");
  35.  
  36. // build and show dialog
  37. Wizard::OpenNextBackDialog ();
  38.  
  39. term contents = `HBox(
  40.     `HSpacing(2),
  41.     `RadioButtonGroup(`id(`rb_group),
  42.         // frame label
  43.         `Frame( _("Method for Installing the VM's Operating System"),
  44.             `VBox(
  45.             `VSpacing(0.5),
  46.             // radio button label
  47.             `Left(`RadioButton(`id("new"), _("Run an OS installation program"), (VM_Common::proposal_type != "existing"))),
  48.             `VSpacing(0.5),
  49.             // radio button label
  50.             `Left(`RadioButton(`id("existing"), _("Use a disk image or a physical disk that contains OS boot files"), (VM_Common::proposal_type == "existing"))),
  51.             `VSpacing(0.5)
  52.             )
  53.         )
  54.     ),
  55.     `HSpacing(2)
  56. );
  57.  
  58. // Create a Virtual Machine - help text 1/4
  59. string help_text = sformat(_("<p><b><big>%1</big></b></p>"), title)
  60. // Create a Virtual Machine - help text 2/4
  61.     + _("<p>Creating a VM requires that you install the VM's operating system by either running an OS installation program or specifying a disk image that already contains an operating system.</p>")
  62.     // Create a Virtual Machine - help text 3/4
  63.     + _("<p><b>Run an OS Installation Program</b>: You can install a VM's operating system by running an OS installation program from a YaST Network Installation Source, a CD / DVD device, or an ISO image file.</p>")
  64.     // Create a Virtual Machine - help text 1/4
  65.     + _("<p><b>Use a Disk Image</b>: You can specify that the VM boots an already-installed operating system from boot files located on a disk image or a physical disk.</p>");
  66.  
  67.  
  68.  
  69.  
  70. Wizard::SetContents (title, contents, help_text, true, true);
  71.  
  72. symbol ret = nil;
  73. while (true) {
  74.  
  75.     ret = (symbol) Wizard::UserInput();
  76.     
  77.     if (ret == `abort || ret == `cancel) {
  78.         if (Popup::ReallyAbort(VM_Common::GetModified()))
  79.             break;
  80.     }
  81.     else if (ret == `back) {
  82.         break;
  83.     }
  84.     else if (ret == `next) {
  85.         string selected = (string)(UI::QueryWidget(`id(`rb_group), `CurrentButton));
  86.         if (selected == "new")
  87.             ret = `install;
  88.         else if (selected == "existing")
  89.             ret = `existing;
  90.         else {
  91.             // popup error message
  92.             Report::Error(_("At least one item must be selected."));
  93.             continue;
  94.         }
  95.         break;
  96.     }
  97.     else {
  98.         y2error("unexpected retcode: %1", ret);
  99.         continue;
  100.     }
  101.  
  102. }
  103.  
  104. Wizard::CloseDialog();
  105. return ret;
  106.  
  107. /* EOF */
  108. }
  109.