Author: gedmurphy Date: Thu Jun 28 23:03:52 2007 New Revision: 27314
URL: http://svn.reactos.org/svn/reactos?rev=27314&view=rev Log: Add a 'new harddisk' dialog for creating additional harddisk images for each virtual machine
Added: trunk/tools/RosTE/GUI/NewHardDiskForm.Designer.cs trunk/tools/RosTE/GUI/NewHardDiskForm.cs trunk/tools/RosTE/GUI/NewHardDiskForm.resx trunk/tools/RosTE/GUI/Resources/harddisk.png (with props) Modified: trunk/tools/RosTE/GUI/RosTEGUI.csproj trunk/tools/RosTE/GUI/SettingsForm.cs
Added: trunk/tools/RosTE/GUI/NewHardDiskForm.Designer.cs URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/NewHardDiskForm.Des... ============================================================================== --- trunk/tools/RosTE/GUI/NewHardDiskForm.Designer.cs (added) +++ trunk/tools/RosTE/GUI/NewHardDiskForm.Designer.cs Thu Jun 28 23:03:52 2007 @@ -1,0 +1,225 @@ +namespace RosTEGUI +{ + partial class NewHardDiskForm + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NewHardDiskForm)); + this.newhdName = new System.Windows.Forms.TextBox(); + this.newhdDrive = new System.Windows.Forms.ComboBox(); + this.button1 = new System.Windows.Forms.Button(); + this.newhdPath = new System.Windows.Forms.TextBox(); + this.newhdSize = new System.Windows.Forms.NumericUpDown(); + this.newhdBoot = new System.Windows.Forms.CheckBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.newhdOK = new System.Windows.Forms.Button(); + this.newhdCancel = new System.Windows.Forms.Button(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.label5 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.newhdSize)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // newhdName + // + this.newhdName.Location = new System.Drawing.Point(45, 49); + this.newhdName.Name = "newhdName"; + this.newhdName.Size = new System.Drawing.Size(184, 20); + this.newhdName.TabIndex = 0; + // + // newhdDrive + // + this.newhdDrive.FormattingEnabled = true; + this.newhdDrive.Location = new System.Drawing.Point(45, 128); + this.newhdDrive.Name = "newhdDrive"; + this.newhdDrive.Size = new System.Drawing.Size(86, 21); + this.newhdDrive.TabIndex = 3; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(154, 101); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 2; + this.button1.Text = "Browse"; + this.button1.UseVisualStyleBackColor = true; + // + // newhdPath + // + this.newhdPath.Location = new System.Drawing.Point(45, 75); + this.newhdPath.Name = "newhdPath"; + this.newhdPath.Size = new System.Drawing.Size(184, 20); + this.newhdPath.TabIndex = 1; + // + // newhdSize + // + this.newhdSize.Location = new System.Drawing.Point(45, 155); + this.newhdSize.Name = "newhdSize"; + this.newhdSize.Size = new System.Drawing.Size(84, 20); + this.newhdSize.TabIndex = 4; + // + // newhdBoot + // + this.newhdBoot.AutoSize = true; + this.newhdBoot.Location = new System.Drawing.Point(45, 192); + this.newhdBoot.Name = "newhdBoot"; + this.newhdBoot.Size = new System.Drawing.Size(147, 17); + this.newhdBoot.TabIndex = 5; + this.newhdBoot.Text = "Set as primary boot image"; + this.newhdBoot.UseVisualStyleBackColor = true; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(4, 52); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(35, 13); + this.label1.TabIndex = 6; + this.label1.Text = "Name"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(4, 131); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(32, 13); + this.label2.TabIndex = 7; + this.label2.Text = "Drive"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(4, 78); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(29, 13); + this.label3.TabIndex = 8; + this.label3.Text = "Path"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(4, 157); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(27, 13); + this.label4.TabIndex = 9; + this.label4.Text = "Size"; + // + // newhdOK + // + this.newhdOK.DialogResult = System.Windows.Forms.DialogResult.OK; + this.newhdOK.Location = new System.Drawing.Point(72, 218); + this.newhdOK.Name = "newhdOK"; + this.newhdOK.Size = new System.Drawing.Size(75, 23); + this.newhdOK.TabIndex = 6; + this.newhdOK.Text = "OK"; + this.newhdOK.UseVisualStyleBackColor = true; + // + // newhdCancel + // + this.newhdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.newhdCancel.Location = new System.Drawing.Point(154, 218); + this.newhdCancel.Name = "newhdCancel"; + this.newhdCancel.Size = new System.Drawing.Size(75, 23); + this.newhdCancel.TabIndex = 7; + this.newhdCancel.Text = "Cancel"; + this.newhdCancel.UseVisualStyleBackColor = true; + // + // pictureBox1 + // + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(7, 9); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(45, 31); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage; + this.pictureBox1.TabIndex = 12; + this.pictureBox1.TabStop = false; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(58, 9); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(151, 26); + this.label5.TabIndex = 13; + this.label5.Text = "Create a new hard disk for use\r\nwith your virtual machine"; + // + // NewHardDiskForm + // + this.AcceptButton = this.newhdOK; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.newhdCancel; + this.ClientSize = new System.Drawing.Size(241, 248); + this.Controls.Add(this.label5); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.newhdCancel); + this.Controls.Add(this.newhdOK); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.newhdBoot); + this.Controls.Add(this.newhdSize); + this.Controls.Add(this.newhdPath); + this.Controls.Add(this.button1); + this.Controls.Add(this.newhdDrive); + this.Controls.Add(this.newhdName); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "NewHardDiskForm"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.Text = "New harddisk"; + ((System.ComponentModel.ISupportInitialize)(this.newhdSize)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox newhdName; + private System.Windows.Forms.ComboBox newhdDrive; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.TextBox newhdPath; + private System.Windows.Forms.NumericUpDown newhdSize; + private System.Windows.Forms.CheckBox newhdBoot; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Button newhdOK; + private System.Windows.Forms.Button newhdCancel; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label5; + } +}
Added: trunk/tools/RosTE/GUI/NewHardDiskForm.cs URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/NewHardDiskForm.cs?... ============================================================================== --- trunk/tools/RosTE/GUI/NewHardDiskForm.cs (added) +++ trunk/tools/RosTE/GUI/NewHardDiskForm.cs Thu Jun 28 23:03:52 2007 @@ -1,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace RosTEGUI +{ + public partial class NewHardDiskForm : Form + { + public string DiskName + { + get { return newhdName.Text; } + } + + public string Path + { + get { return newhdPath.Text; } + } + + public string QEmuDrive + { + get { return newhdDrive.Text; } + } + + public int DiskSize + { + get { return Convert.ToInt32(newhdSize.Value); } + } + + public bool BootImage + { + get { return newhdBoot.Checked; } + } + + public NewHardDiskForm() + { + InitializeComponent(); + } + } +}
Added: trunk/tools/RosTE/GUI/NewHardDiskForm.resx URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/NewHardDiskForm.res... ============================================================================== --- trunk/tools/RosTE/GUI/NewHardDiskForm.resx (added) +++ trunk/tools/RosTE/GUI/NewHardDiskForm.resx Thu Jun 28 23:03:52 2007 @@ -1,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + xsd:complexType + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + xsd:complexType + xsd:sequence + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + xsd:complexType + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + xsd:complexType + xsd:sequence + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + xsd:complexType + xsd:sequence + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + 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 + fwORctT4TGEwTwAAAABJRU5ErkJggg== +</value> + </data> +</root>
Added: trunk/tools/RosTE/GUI/Resources/harddisk.png URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/Resources/harddisk.... ============================================================================== Binary file - no diff available.
Propchange: trunk/tools/RosTE/GUI/Resources/harddisk.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Modified: trunk/tools/RosTE/GUI/RosTEGUI.csproj URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/RosTEGUI.csproj?rev... ============================================================================== --- trunk/tools/RosTE/GUI/RosTEGUI.csproj (original) +++ trunk/tools/RosTE/GUI/RosTEGUI.csproj Thu Jun 28 23:03:52 2007 @@ -142,6 +142,12 @@ <DependentUpon>MainForm.cs</DependentUpon> </Compile> <Compile Include="native.cs" /> + <Compile Include="NewHardDiskForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="NewHardDiskForm.Designer.cs"> + <DependentUpon>NewHardDiskForm.cs</DependentUpon> + </Compile> <Compile Include="NewVMWizard.cs"> <SubType>Form</SubType> </Compile> @@ -217,6 +223,10 @@ <EmbeddedResource Include="ErrorForm.resx"> <SubType>Designer</SubType> <DependentUpon>ErrorForm.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="NewHardDiskForm.resx"> + <SubType>Designer</SubType> + <DependentUpon>NewHardDiskForm.cs</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="NewVMWizard.resx"> <SubType>Designer</SubType> @@ -280,4 +290,4 @@ <PostBuildEvent> </PostBuildEvent> </PropertyGroup> -</Project> +</Project>
Modified: trunk/tools/RosTE/GUI/SettingsForm.cs URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosTE/GUI/SettingsForm.cs?rev... ============================================================================== --- trunk/tools/RosTE/GUI/SettingsForm.cs (original) +++ trunk/tools/RosTE/GUI/SettingsForm.cs Thu Jun 28 23:03:52 2007 @@ -321,10 +321,18 @@ { if (harddiskLstBox.Items.Count < 3) { - VMHardDrive vmhd = VirtMach.AddHardDisk("test", "hdc", "c:\mypath", 512, false); - - if (vmhd != null) - harddiskLstBox.Items.Add(vmhd); + NewHardDiskForm hdf = new NewHardDiskForm(); + if (hdf.ShowDialog() == DialogResult.OK) + { + VMHardDrive vmhd = VirtMach.AddHardDisk(hdf.DiskName, + hdf.QEmuDrive, + hdf.Path, + hdf.DiskSize, + hdf.BootImage); + + if (vmhd != null) + harddiskLstBox.Items.Add(vmhd); + } } else {