--- /dev/null
+namespace Handbrake.Controls\r
+{\r
+ partial class Subtitles\r
+ {\r
+ /// <summary> \r
+ /// Required designer variable.\r
+ /// </summary>\r
+ private System.ComponentModel.IContainer components = null;\r
+\r
+ /// <summary> \r
+ /// Clean up any resources being used.\r
+ /// </summary>\r
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>\r
+ protected override void Dispose(bool disposing)\r
+ {\r
+ if (disposing && (components != null))\r
+ {\r
+ components.Dispose();\r
+ }\r
+ base.Dispose(disposing);\r
+ }\r
+\r
+ #region Component Designer generated code\r
+\r
+ /// <summary> \r
+ /// Required method for Designer support - do not modify \r
+ /// the contents of this method with the code editor.\r
+ /// </summary>\r
+ private void InitializeComponent()\r
+ {\r
+ this.drp_subtitleTracks = new System.Windows.Forms.ComboBox();\r
+ this.AudioTrackGroup = new System.Windows.Forms.GroupBox();\r
+ this.label1 = new System.Windows.Forms.Label();\r
+ this.check_default = new System.Windows.Forms.CheckBox();\r
+ this.check_burned = new System.Windows.Forms.CheckBox();\r
+ this.check_forced = new System.Windows.Forms.CheckBox();\r
+ this.btn_addSubTrack = new System.Windows.Forms.Button();\r
+ this.btn_RemoveSubTrack = new System.Windows.Forms.Button();\r
+ this.lv_subList = new System.Windows.Forms.ListView();\r
+ this.id = new System.Windows.Forms.ColumnHeader();\r
+ this.col_Source = new System.Windows.Forms.ColumnHeader();\r
+ this.forced = new System.Windows.Forms.ColumnHeader();\r
+ this.burned = new System.Windows.Forms.ColumnHeader();\r
+ this.defaultTrack = new System.Windows.Forms.ColumnHeader();\r
+ this.label68 = new System.Windows.Forms.Label();\r
+ this.AudioTrackGroup.SuspendLayout();\r
+ this.SuspendLayout();\r
+ // \r
+ // drp_subtitleTracks\r
+ // \r
+ this.drp_subtitleTracks.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;\r
+ this.drp_subtitleTracks.Font = new System.Drawing.Font("Verdana", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.drp_subtitleTracks.FormattingEnabled = true;\r
+ this.drp_subtitleTracks.Location = new System.Drawing.Point(57, 20);\r
+ this.drp_subtitleTracks.Name = "drp_subtitleTracks";\r
+ this.drp_subtitleTracks.Size = new System.Drawing.Size(194, 20);\r
+ this.drp_subtitleTracks.TabIndex = 50;\r
+ this.drp_subtitleTracks.SelectedIndexChanged += new System.EventHandler(this.drp_subtitleTracks_SelectedIndexChanged);\r
+ // \r
+ // AudioTrackGroup\r
+ // \r
+ this.AudioTrackGroup.BackColor = System.Drawing.Color.Transparent;\r
+ this.AudioTrackGroup.Controls.Add(this.label1);\r
+ this.AudioTrackGroup.Controls.Add(this.check_default);\r
+ this.AudioTrackGroup.Controls.Add(this.check_burned);\r
+ this.AudioTrackGroup.Controls.Add(this.check_forced);\r
+ this.AudioTrackGroup.Controls.Add(this.drp_subtitleTracks);\r
+ this.AudioTrackGroup.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.AudioTrackGroup.ForeColor = System.Drawing.Color.Black;\r
+ this.AudioTrackGroup.Location = new System.Drawing.Point(16, 32);\r
+ this.AudioTrackGroup.Name = "AudioTrackGroup";\r
+ this.AudioTrackGroup.Size = new System.Drawing.Size(689, 50);\r
+ this.AudioTrackGroup.TabIndex = 71;\r
+ this.AudioTrackGroup.TabStop = false;\r
+ this.AudioTrackGroup.Text = "Selected Track: New Track";\r
+ // \r
+ // label1\r
+ // \r
+ this.label1.AutoSize = true;\r
+ this.label1.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.label1.Location = new System.Drawing.Point(6, 22);\r
+ this.label1.Name = "label1";\r
+ this.label1.Size = new System.Drawing.Size(44, 13);\r
+ this.label1.TabIndex = 72;\r
+ this.label1.Text = "Track:";\r
+ // \r
+ // check_default\r
+ // \r
+ this.check_default.AutoSize = true;\r
+ this.check_default.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.check_default.Location = new System.Drawing.Point(446, 21);\r
+ this.check_default.Name = "check_default";\r
+ this.check_default.Size = new System.Drawing.Size(67, 17);\r
+ this.check_default.TabIndex = 71;\r
+ this.check_default.Text = "Default";\r
+ this.check_default.UseVisualStyleBackColor = true;\r
+ this.check_default.CheckedChanged += new System.EventHandler(this.check_default_CheckedChanged);\r
+ // \r
+ // check_burned\r
+ // \r
+ this.check_burned.AutoSize = true;\r
+ this.check_burned.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.check_burned.Location = new System.Drawing.Point(357, 21);\r
+ this.check_burned.Name = "check_burned";\r
+ this.check_burned.Size = new System.Drawing.Size(83, 17);\r
+ this.check_burned.TabIndex = 70;\r
+ this.check_burned.Text = "Burned In";\r
+ this.check_burned.UseVisualStyleBackColor = true;\r
+ this.check_burned.CheckedChanged += new System.EventHandler(this.check_burned_CheckedChanged);\r
+ // \r
+ // check_forced\r
+ // \r
+ this.check_forced.AutoSize = true;\r
+ this.check_forced.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.check_forced.Location = new System.Drawing.Point(257, 21);\r
+ this.check_forced.Name = "check_forced";\r
+ this.check_forced.Size = new System.Drawing.Size(94, 17);\r
+ this.check_forced.TabIndex = 69;\r
+ this.check_forced.Text = "Forced Only";\r
+ this.check_forced.UseVisualStyleBackColor = true;\r
+ this.check_forced.CheckedChanged += new System.EventHandler(this.check_forced_CheckedChanged);\r
+ // \r
+ // btn_addSubTrack\r
+ // \r
+ this.btn_addSubTrack.BackColor = System.Drawing.Color.Transparent;\r
+ this.btn_addSubTrack.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.btn_addSubTrack.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
+ this.btn_addSubTrack.Location = new System.Drawing.Point(16, 274);\r
+ this.btn_addSubTrack.Name = "btn_addSubTrack";\r
+ this.btn_addSubTrack.Size = new System.Drawing.Size(111, 23);\r
+ this.btn_addSubTrack.TabIndex = 68;\r
+ this.btn_addSubTrack.Text = "Add Track";\r
+ this.btn_addSubTrack.UseVisualStyleBackColor = false;\r
+ this.btn_addSubTrack.Click += new System.EventHandler(this.btn_addSubTrack_Click);\r
+ // \r
+ // btn_RemoveSubTrack\r
+ // \r
+ this.btn_RemoveSubTrack.BackColor = System.Drawing.Color.Transparent;\r
+ this.btn_RemoveSubTrack.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.btn_RemoveSubTrack.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));\r
+ this.btn_RemoveSubTrack.Location = new System.Drawing.Point(133, 274);\r
+ this.btn_RemoveSubTrack.Name = "btn_RemoveSubTrack";\r
+ this.btn_RemoveSubTrack.Size = new System.Drawing.Size(111, 23);\r
+ this.btn_RemoveSubTrack.TabIndex = 69;\r
+ this.btn_RemoveSubTrack.Text = "Remove";\r
+ this.btn_RemoveSubTrack.UseVisualStyleBackColor = false;\r
+ this.btn_RemoveSubTrack.Click += new System.EventHandler(this.btn_RemoveSubTrack_Click);\r
+ // \r
+ // lv_subList\r
+ // \r
+ this.lv_subList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {\r
+ this.id,\r
+ this.col_Source,\r
+ this.forced,\r
+ this.burned,\r
+ this.defaultTrack});\r
+ this.lv_subList.FullRowSelect = true;\r
+ this.lv_subList.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;\r
+ this.lv_subList.HideSelection = false;\r
+ this.lv_subList.LabelWrap = false;\r
+ this.lv_subList.Location = new System.Drawing.Point(17, 88);\r
+ this.lv_subList.MultiSelect = false;\r
+ this.lv_subList.Name = "lv_subList";\r
+ this.lv_subList.Size = new System.Drawing.Size(688, 180);\r
+ this.lv_subList.TabIndex = 70;\r
+ this.lv_subList.UseCompatibleStateImageBehavior = false;\r
+ this.lv_subList.View = System.Windows.Forms.View.Details;\r
+ this.lv_subList.SelectedIndexChanged += new System.EventHandler(this.lb_subList_SelectedIndexChanged);\r
+ // \r
+ // id\r
+ // \r
+ this.id.Text = "Track ID";\r
+ this.id.Width = 70;\r
+ // \r
+ // col_Source\r
+ // \r
+ this.col_Source.Text = "Track";\r
+ this.col_Source.Width = 250;\r
+ // \r
+ // forced\r
+ // \r
+ this.forced.Text = "Forced Only";\r
+ this.forced.Width = 88;\r
+ // \r
+ // burned\r
+ // \r
+ this.burned.Text = "Burned In";\r
+ this.burned.Width = 100;\r
+ // \r
+ // defaultTrack\r
+ // \r
+ this.defaultTrack.Text = "Default";\r
+ this.defaultTrack.Width = 100;\r
+ // \r
+ // label68\r
+ // \r
+ this.label68.AutoSize = true;\r
+ this.label68.BackColor = System.Drawing.Color.Transparent;\r
+ this.label68.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));\r
+ this.label68.Location = new System.Drawing.Point(13, 13);\r
+ this.label68.Name = "label68";\r
+ this.label68.Size = new System.Drawing.Size(64, 13);\r
+ this.label68.TabIndex = 67;\r
+ this.label68.Text = "Subtitles";\r
+ // \r
+ // Subtitles\r
+ // \r
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;\r
+ this.BackColor = System.Drawing.Color.Transparent;\r
+ this.Controls.Add(this.AudioTrackGroup);\r
+ this.Controls.Add(this.btn_RemoveSubTrack);\r
+ this.Controls.Add(this.lv_subList);\r
+ this.Controls.Add(this.label68);\r
+ this.Controls.Add(this.btn_addSubTrack);\r
+ this.Name = "Subtitles";\r
+ this.Size = new System.Drawing.Size(719, 300);\r
+ this.AudioTrackGroup.ResumeLayout(false);\r
+ this.AudioTrackGroup.PerformLayout();\r
+ this.ResumeLayout(false);\r
+ this.PerformLayout();\r
+\r
+ }\r
+\r
+ #endregion\r
+\r
+ internal System.Windows.Forms.ComboBox drp_subtitleTracks;\r
+ private System.Windows.Forms.GroupBox AudioTrackGroup;\r
+ private System.Windows.Forms.Button btn_RemoveSubTrack;\r
+ private System.Windows.Forms.Button btn_addSubTrack;\r
+ internal System.Windows.Forms.ListView lv_subList;\r
+ private System.Windows.Forms.ColumnHeader id;\r
+ private System.Windows.Forms.ColumnHeader col_Source;\r
+ private System.Windows.Forms.ColumnHeader forced;\r
+ private System.Windows.Forms.ColumnHeader burned;\r
+ internal System.Windows.Forms.Label label68;\r
+ private System.Windows.Forms.ColumnHeader defaultTrack;\r
+ private System.Windows.Forms.Label label1;\r
+ private System.Windows.Forms.CheckBox check_default;\r
+ private System.Windows.Forms.CheckBox check_burned;\r
+ private System.Windows.Forms.CheckBox check_forced;\r
+ }\r
+}\r
--- /dev/null
+using System;\r
+using System.Windows.Forms;\r
+\r
+namespace Handbrake.Controls\r
+{\r
+ public partial class Subtitles : UserControl\r
+ {\r
+\r
+ // TODO\r
+ // - Right click menu for adding/removal of tracks.\r
+ // - Multi-select for removal.\r
+\r
+ public Subtitles()\r
+ {\r
+ InitializeComponent();\r
+ }\r
+ public int setContainer { get; set; }\r
+\r
+ // Controls\r
+ private void btn_addSubTrack_Click(object sender, EventArgs e)\r
+ {\r
+ string forcedVal = "No";\r
+ string burnedVal = "No";\r
+ string defaultSub = "No";\r
+\r
+ if (check_forced.Checked)\r
+ forcedVal = "Yes";\r
+\r
+ if (check_burned.Checked)\r
+ {\r
+ if (!drp_subtitleTracks.Text.Contains("Text"))\r
+ {\r
+ burnedVal = "Yes";\r
+ setNoBurned();\r
+ }\r
+ }\r
+\r
+ if (check_default.Checked)\r
+ {\r
+ defaultSub = "Yes";\r
+ setNoDefault();\r
+ }\r
+\r
+ Boolean addTrack = true;\r
+ if (setContainer == 0 || setContainer == 1)\r
+ {\r
+ burnedVal = "Yes"; // MP4 must have bitmap subs burned in.\r
+\r
+ // Make sure we only have 1 bitmap track.\r
+ if (drp_subtitleTracks.SelectedItem.ToString().Contains("Bitmap"))\r
+ foreach (ListViewItem item in lv_subList.Items)\r
+ {\r
+ if (item.SubItems[1].Text.Contains("Bitmap"))\r
+ {\r
+ MessageBox.Show(this,\r
+ "MP4 files can only have 1 bitmap track. If you wish to have multiple bitmap tracks you should consider using MKV if suitable.",\r
+ "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
+ addTrack = false;\r
+ }\r
+ }\r
+ }\r
+\r
+ // Add the track if allowed.\r
+ if (addTrack)\r
+ {\r
+ ListViewItem newTrack = new ListViewItem(getNewID().ToString());\r
+\r
+ newTrack.SubItems.Add(drp_subtitleTracks.SelectedItem.ToString());\r
+ newTrack.SubItems.Add(forcedVal);\r
+ newTrack.SubItems.Add(burnedVal);\r
+ newTrack.SubItems.Add(defaultSub);\r
+\r
+ lv_subList.Items.Add(newTrack);\r
+ }\r
+ }\r
+ private void btn_RemoveSubTrack_Click(object sender, EventArgs e)\r
+ {\r
+ removeTrack();\r
+ }\r
+ private void lb_subList_SelectedIndexChanged(object sender, EventArgs e)\r
+ {\r
+ // Set the dropdown controls based on the selected item in the List.\r
+ if (lv_subList.Items.Count != 0 && lv_subList.SelectedIndices.Count != 0)\r
+ {\r
+ // Reset the checkboxes\r
+ check_forced.CheckState = CheckState.Unchecked;\r
+ check_burned.CheckState = CheckState.Unchecked;\r
+ check_default.CheckState = CheckState.Unchecked;\r
+\r
+ // Setup the controls\r
+ int c = 0;\r
+ foreach (var item in drp_subtitleTracks.Items)\r
+ {\r
+ if (item.ToString() == lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[1].Text)\r
+ drp_subtitleTracks.SelectedIndex = c;\r
+ c++;\r
+ }\r
+ drp_subtitleTracks.SelectedItem = lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[1];\r
+\r
+ if (lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[2].Text == "Yes")\r
+ check_forced.CheckState = CheckState.Checked;\r
+\r
+ if (lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[3].Text == "Yes")\r
+ check_burned.CheckState = CheckState.Checked;\r
+\r
+ if (lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[4].Text == "Yes")\r
+ check_default.CheckState = CheckState.Checked;\r
+\r
+ AudioTrackGroup.Text = "Selected Track: " + lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[0].Text;\r
+ }\r
+ else\r
+ AudioTrackGroup.Text = "Selected Track: None (Click \"Add Track\" to add)";\r
+ }\r
+\r
+ private void drp_subtitleTracks_SelectedIndexChanged(object sender, EventArgs e)\r
+ {\r
+ // Update an item in the list if required.\r
+ if (lv_subList.Items.Count != 0 && lv_subList.SelectedIndices.Count != 0)\r
+ {\r
+ lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[1].Text = drp_subtitleTracks.SelectedItem.ToString();\r
+ lv_subList.Select();\r
+ }\r
+ }\r
+ private void check_forced_CheckedChanged(object sender, EventArgs e)\r
+ {\r
+ // Update an item in the list if required.\r
+ if (lv_subList.Items.Count != 0 && lv_subList.SelectedIndices.Count != 0)\r
+ {\r
+ lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[2].Text = check_forced.Checked ? "Yes" : "No";\r
+ lv_subList.Select();\r
+ }\r
+ }\r
+ private void check_burned_CheckedChanged(object sender, EventArgs e)\r
+ {\r
+ // Update an item in the list if required.\r
+ if (lv_subList.Items.Count != 0 && lv_subList.SelectedIndices.Count != 0)\r
+ {\r
+ if (check_burned.Checked) // Make sure we only have 1 burned track\r
+ setNoBurned();\r
+\r
+ lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[3].Text = check_burned.Checked ? "Yes" : "No";\r
+ lv_subList.Select();\r
+ }\r
+ }\r
+ private void check_default_CheckedChanged(object sender, EventArgs e)\r
+ {\r
+ // Update an item in the list if required.\r
+ if (lv_subList.Items.Count != 0 && lv_subList.SelectedIndices.Count != 0)\r
+ {\r
+ if (check_default.Checked) // Make sure we only have 1 default track\r
+ setNoDefault();\r
+\r
+ lv_subList.Items[lv_subList.SelectedIndices[0]].SubItems[4].Text = check_default.Checked ? "Yes" : "No";\r
+ lv_subList.Select();\r
+ }\r
+ }\r
+\r
+ // Functions\r
+ private void setNoDefault()\r
+ {\r
+ foreach (ListViewItem item in lv_subList.Items)\r
+ {\r
+ if (item.SubItems[4].Text == "Yes")\r
+ item.SubItems[4].Text = "No";\r
+ }\r
+ }\r
+ private void setNoBurned()\r
+ {\r
+ foreach (ListViewItem item in lv_subList.Items)\r
+ {\r
+ if (item.SubItems[3].Text == "Yes")\r
+ item.SubItems[3].Text = "No";\r
+ }\r
+ }\r
+ private void removeTrack()\r
+ {\r
+ // Remove the Item and reselect the control if the following conditions are met.\r
+ if (lv_subList.SelectedItems.Count != 0)\r
+ {\r
+ // Record the current selected index.\r
+ int currentPosition = lv_subList.SelectedIndices[0];\r
+\r
+ lv_subList.Items.RemoveAt(lv_subList.SelectedIndices[0]);\r
+\r
+ // Now reslect the correct item and give focus to the list.\r
+ if (lv_subList.Items.Count != 0)\r
+ {\r
+ if (currentPosition <= (lv_subList.Items.Count - 1))\r
+ lv_subList.Items[currentPosition].Selected = true;\r
+ else if (currentPosition > (lv_subList.Items.Count - 1))\r
+ lv_subList.Items[lv_subList.Items.Count - 1].Selected = true;\r
+\r
+ lv_subList.Select();\r
+ }\r
+\r
+ // Regenerate the ID numers\r
+ reGenerateListIDs();\r
+ }\r
+ }\r
+\r
+ // Helper Functions\r
+ private int getNewID()\r
+ {\r
+ return lv_subList.Items.Count + 1;\r
+ }\r
+ private void reGenerateListIDs()\r
+ {\r
+ int i = 1;\r
+ foreach (ListViewItem item in lv_subList.Items)\r
+ {\r
+ item.SubItems[0].Text = i.ToString();\r
+ i++;\r
+ }\r
+ }\r
+\r
+ }\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<root>\r
+ <!-- \r
+ Microsoft ResX Schema \r
+ \r
+ Version 2.0\r
+ \r
+ The primary goals of this format is to allow a simple XML format \r
+ that is mostly human readable. The generation and parsing of the \r
+ various data types are done through the TypeConverter classes \r
+ associated with the data types.\r
+ \r
+ Example:\r
+ \r
+ ... ado.net/XML headers & schema ...\r
+ <resheader name="resmimetype">text/microsoft-resx</resheader>\r
+ <resheader name="version">2.0</resheader>\r
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>\r
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>\r
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">\r
+ <value>[base64 mime encoded serialized .NET Framework object]</value>\r
+ </data>\r
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r
+ <comment>This is a comment</comment>\r
+ </data>\r
+ \r
+ There are any number of "resheader" rows that contain simple \r
+ name/value pairs.\r
+ \r
+ Each data row contains a name, and value. The row also contains a \r
+ type or mimetype. Type corresponds to a .NET class that support \r
+ text/value conversion through the TypeConverter architecture. \r
+ Classes that don't support this are serialized and stored with the \r
+ mimetype set.\r
+ \r
+ The mimetype is used for serialized objects, and tells the \r
+ ResXResourceReader how to depersist the object. This is currently not \r
+ extensible. For a given mimetype the value must be set accordingly:\r
+ \r
+ Note - application/x-microsoft.net.object.binary.base64 is the format \r
+ that the ResXResourceWriter will generate, however the reader can \r
+ read any of the formats listed below.\r
+ \r
+ mimetype: application/x-microsoft.net.object.binary.base64\r
+ value : The object must be serialized with \r
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r
+ : and then encoded with base64 encoding.\r
+ \r
+ mimetype: application/x-microsoft.net.object.soap.base64\r
+ value : The object must be serialized with \r
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r
+ : and then encoded with base64 encoding.\r
+\r
+ mimetype: application/x-microsoft.net.object.bytearray.base64\r
+ value : The object must be serialized into a byte array \r
+ : using a System.ComponentModel.TypeConverter\r
+ : and then encoded with base64 encoding.\r
+ -->\r
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">\r
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />\r
+ <xsd:element name="root" msdata:IsDataSet="true">\r
+ <xsd:complexType>\r
+ <xsd:choice maxOccurs="unbounded">\r
+ <xsd:element name="metadata">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" use="required" type="xsd:string" />\r
+ <xsd:attribute name="type" type="xsd:string" />\r
+ <xsd:attribute name="mimetype" type="xsd:string" />\r
+ <xsd:attribute ref="xml:space" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="assembly">\r
+ <xsd:complexType>\r
+ <xsd:attribute name="alias" type="xsd:string" />\r
+ <xsd:attribute name="name" type="xsd:string" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="data">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />\r
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />\r
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />\r
+ <xsd:attribute ref="xml:space" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ <xsd:element name="resheader">\r
+ <xsd:complexType>\r
+ <xsd:sequence>\r
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+ </xsd:sequence>\r
+ <xsd:attribute name="name" type="xsd:string" use="required" />\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:choice>\r
+ </xsd:complexType>\r
+ </xsd:element>\r
+ </xsd:schema>\r
+ <resheader name="resmimetype">\r
+ <value>text/microsoft-resx</value>\r
+ </resheader>\r
+ <resheader name="version">\r
+ <value>2.0</value>\r
+ </resheader>\r
+ <resheader name="reader">\r
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+ </resheader>\r
+ <resheader name="writer">\r
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+ </resheader>\r
+</root>
\ No newline at end of file