OSDN Git Service

AppliStation-GUI,汎用ダイアログ用クラスを追加
authorttp <ttp@users.sourceforge.jp>
Sun, 21 Mar 2010 13:40:12 +0000 (22:40 +0900)
committerttp <ttp@users.sourceforge.jp>
Sun, 21 Mar 2010 13:40:12 +0000 (22:40 +0900)
AppliStation/AppliStation.Util/OptionDialog.Designer.cs [new file with mode: 0644]
AppliStation/AppliStation.Util/OptionDialog.cs [new file with mode: 0644]
AppliStation/AppliStation.Util/OptionDialog.resx [new file with mode: 0644]
AppliStation/AppliStation.csproj

diff --git a/AppliStation/AppliStation.Util/OptionDialog.Designer.cs b/AppliStation/AppliStation.Util/OptionDialog.Designer.cs
new file mode 100644 (file)
index 0000000..40d3118
--- /dev/null
@@ -0,0 +1,212 @@
+namespace AppliStation.Util\r
+{\r
+       partial class OptionDialog\r
+       {\r
+               /// <summary>\r
+               /// Designer variable used to keep track of non-visual components.\r
+               /// </summary>\r
+               private System.ComponentModel.IContainer components = null;\r
+               \r
+               /// <summary>\r
+               /// Disposes resources used by the form.\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) {\r
+                               if (components != null) {\r
+                                       components.Dispose();\r
+                               }\r
+                       }\r
+                       base.Dispose(disposing);\r
+               }\r
+               \r
+               /// <summary>\r
+               /// This method is required for Windows Forms designer support.\r
+               /// Do not change the method contents inside the source code editor. The Forms designer might\r
+               /// not be able to load this method if it was changed manually.\r
+               /// </summary>\r
+               private void InitializeComponent()\r
+               {\r
+                       System.Windows.Forms.TableLayoutPanel topTableLayoutPane;\r
+                       System.Windows.Forms.TableLayoutPanel btnsAreaTableLayoutPanel;\r
+                       this.iconPictureBox = new System.Windows.Forms.PictureBox();\r
+                       this.noButton = new System.Windows.Forms.Button();\r
+                       this.cancelButton = new System.Windows.Forms.Button();\r
+                       this.okButton = new System.Windows.Forms.Button();\r
+                       this.yesButton = new System.Windows.Forms.Button();\r
+                       this.mainInstLabel = new System.Windows.Forms.Label();\r
+                       this.contentLabel = new System.Windows.Forms.Label();\r
+                       this.contentFlowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();\r
+                       topTableLayoutPane = new System.Windows.Forms.TableLayoutPanel();\r
+                       btnsAreaTableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();\r
+                       topTableLayoutPane.SuspendLayout();\r
+                       ((System.ComponentModel.ISupportInitialize)(this.iconPictureBox)).BeginInit();\r
+                       btnsAreaTableLayoutPanel.SuspendLayout();\r
+                       this.SuspendLayout();\r
+                       // \r
+                       // topTableLayoutPane\r
+                       // \r
+                       topTableLayoutPane.AutoSize = true;\r
+                       topTableLayoutPane.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;\r
+                       topTableLayoutPane.ColumnCount = 2;\r
+                       topTableLayoutPane.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+                       topTableLayoutPane.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
+                       topTableLayoutPane.Controls.Add(this.iconPictureBox, 0, 0);\r
+                       topTableLayoutPane.Controls.Add(btnsAreaTableLayoutPanel, 0, 3);\r
+                       topTableLayoutPane.Controls.Add(this.mainInstLabel, 1, 0);\r
+                       topTableLayoutPane.Controls.Add(this.contentLabel, 1, 1);\r
+                       topTableLayoutPane.Controls.Add(this.contentFlowLayoutPanel, 1, 2);\r
+                       topTableLayoutPane.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       topTableLayoutPane.Location = new System.Drawing.Point(0, 0);\r
+                       topTableLayoutPane.Name = "topTableLayoutPane";\r
+                       topTableLayoutPane.RowCount = 4;\r
+                       topTableLayoutPane.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+                       topTableLayoutPane.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+                       topTableLayoutPane.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
+                       topTableLayoutPane.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+                       topTableLayoutPane.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));\r
+                       topTableLayoutPane.Size = new System.Drawing.Size(392, 292);\r
+                       topTableLayoutPane.TabIndex = 0;\r
+                       // \r
+                       // iconPictureBox\r
+                       // \r
+                       this.iconPictureBox.Location = new System.Drawing.Point(8, 8);\r
+                       this.iconPictureBox.Margin = new System.Windows.Forms.Padding(8);\r
+                       this.iconPictureBox.Name = "iconPictureBox";\r
+                       topTableLayoutPane.SetRowSpan(this.iconPictureBox, 2);\r
+                       this.iconPictureBox.Size = new System.Drawing.Size(0, 0);\r
+                       this.iconPictureBox.TabIndex = 0;\r
+                       this.iconPictureBox.TabStop = false;\r
+                       // \r
+                       // btnsAreaTableLayoutPanel\r
+                       // \r
+                       btnsAreaTableLayoutPanel.AutoSize = true;\r
+                       btnsAreaTableLayoutPanel.BackColor = System.Drawing.SystemColors.Control;\r
+                       btnsAreaTableLayoutPanel.ColumnCount = 5;\r
+                       topTableLayoutPane.SetColumnSpan(btnsAreaTableLayoutPanel, 2);\r
+                       btnsAreaTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
+                       btnsAreaTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+                       btnsAreaTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+                       btnsAreaTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+                       btnsAreaTableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+                       btnsAreaTableLayoutPanel.Controls.Add(this.noButton, 3, 0);\r
+                       btnsAreaTableLayoutPanel.Controls.Add(this.cancelButton, 4, 0);\r
+                       btnsAreaTableLayoutPanel.Controls.Add(this.okButton, 1, 0);\r
+                       btnsAreaTableLayoutPanel.Controls.Add(this.yesButton, 2, 0);\r
+                       btnsAreaTableLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       btnsAreaTableLayoutPanel.ForeColor = System.Drawing.SystemColors.ControlText;\r
+                       btnsAreaTableLayoutPanel.Location = new System.Drawing.Point(0, 255);\r
+                       btnsAreaTableLayoutPanel.Margin = new System.Windows.Forms.Padding(0);\r
+                       btnsAreaTableLayoutPanel.Name = "btnsAreaTableLayoutPanel";\r
+                       btnsAreaTableLayoutPanel.Padding = new System.Windows.Forms.Padding(4);\r
+                       btnsAreaTableLayoutPanel.RowCount = 1;\r
+                       btnsAreaTableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+                       btnsAreaTableLayoutPanel.Size = new System.Drawing.Size(392, 37);\r
+                       btnsAreaTableLayoutPanel.TabIndex = 2;\r
+                       // \r
+                       // noButton\r
+                       // \r
+                       this.noButton.DialogResult = System.Windows.Forms.DialogResult.No;\r
+                       this.noButton.Location = new System.Drawing.Point(229, 7);\r
+                       this.noButton.Name = "noButton";\r
+                       this.noButton.Size = new System.Drawing.Size(75, 23);\r
+                       this.noButton.TabIndex = 2;\r
+                       this.noButton.Text = "No";\r
+                       this.noButton.Click += new System.EventHandler(this.SomeButtonClick);\r
+                       // \r
+                       // cancelButton\r
+                       // \r
+                       this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;\r
+                       this.cancelButton.Location = new System.Drawing.Point(310, 7);\r
+                       this.cancelButton.Name = "cancelButton";\r
+                       this.cancelButton.Size = new System.Drawing.Size(75, 23);\r
+                       this.cancelButton.TabIndex = 3;\r
+                       this.cancelButton.Text = "Cancel";\r
+                       this.cancelButton.Click += new System.EventHandler(this.SomeButtonClick);\r
+                       // \r
+                       // okButton\r
+                       // \r
+                       this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;\r
+                       this.okButton.Location = new System.Drawing.Point(67, 7);\r
+                       this.okButton.Name = "okButton";\r
+                       this.okButton.Size = new System.Drawing.Size(75, 23);\r
+                       this.okButton.TabIndex = 0;\r
+                       this.okButton.Text = "OK";\r
+                       this.okButton.Click += new System.EventHandler(this.SomeButtonClick);\r
+                       // \r
+                       // yesButton\r
+                       // \r
+                       this.yesButton.DialogResult = System.Windows.Forms.DialogResult.Yes;\r
+                       this.yesButton.Location = new System.Drawing.Point(148, 7);\r
+                       this.yesButton.Name = "yesButton";\r
+                       this.yesButton.Size = new System.Drawing.Size(75, 23);\r
+                       this.yesButton.TabIndex = 1;\r
+                       this.yesButton.Text = "Yes";\r
+                       this.yesButton.Click += new System.EventHandler(this.SomeButtonClick);\r
+                       // \r
+                       // mainInstLabel\r
+                       // \r
+                       this.mainInstLabel.AutoSize = true;\r
+                       this.mainInstLabel.ForeColor = System.Drawing.SystemColors.HotTrack;\r
+                       this.mainInstLabel.Location = new System.Drawing.Point(24, 8);\r
+                       this.mainInstLabel.Margin = new System.Windows.Forms.Padding(8);\r
+                       this.mainInstLabel.Name = "mainInstLabel";\r
+                       this.mainInstLabel.Size = new System.Drawing.Size(0, 15);\r
+                       this.mainInstLabel.TabIndex = 0;\r
+                       this.mainInstLabel.UseCompatibleTextRendering = true;\r
+                       // \r
+                       // contentLabel\r
+                       // \r
+                       this.contentLabel.AutoSize = true;\r
+                       this.contentLabel.Location = new System.Drawing.Point(24, 31);\r
+                       this.contentLabel.Margin = new System.Windows.Forms.Padding(8, 0, 8, 0);\r
+                       this.contentLabel.Name = "contentLabel";\r
+                       this.contentLabel.Size = new System.Drawing.Size(0, 15);\r
+                       this.contentLabel.TabIndex = 1;\r
+                       this.contentLabel.UseCompatibleTextRendering = true;\r
+                       // \r
+                       // contentFlowLayoutPanel\r
+                       // \r
+                       this.contentFlowLayoutPanel.AutoSize = true;\r
+                       this.contentFlowLayoutPanel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;\r
+                       this.contentFlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       this.contentFlowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;\r
+                       this.contentFlowLayoutPanel.Location = new System.Drawing.Point(24, 54);\r
+                       this.contentFlowLayoutPanel.Margin = new System.Windows.Forms.Padding(8);\r
+                       this.contentFlowLayoutPanel.Name = "contentFlowLayoutPanel";\r
+                       this.contentFlowLayoutPanel.Size = new System.Drawing.Size(360, 193);\r
+                       this.contentFlowLayoutPanel.TabIndex = 1;\r
+                       // \r
+                       // OptionDialog\r
+                       // \r
+                       this.AcceptButton = this.okButton;\r
+                       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
+                       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
+                       this.AutoSize = true;\r
+                       this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;\r
+                       this.BackColor = System.Drawing.SystemColors.Window;\r
+                       this.CancelButton = this.cancelButton;\r
+                       this.ClientSize = new System.Drawing.Size(392, 292);\r
+                       this.ControlBox = false;\r
+                       this.Controls.Add(topTableLayoutPane);\r
+                       this.ForeColor = System.Drawing.SystemColors.WindowText;\r
+                       this.Name = "OptionDialog";\r
+                       this.ShowInTaskbar = false;\r
+                       topTableLayoutPane.ResumeLayout(false);\r
+                       topTableLayoutPane.PerformLayout();\r
+                       ((System.ComponentModel.ISupportInitialize)(this.iconPictureBox)).EndInit();\r
+                       btnsAreaTableLayoutPanel.ResumeLayout(false);\r
+                       this.ResumeLayout(false);\r
+                       this.PerformLayout();\r
+               }\r
+               private System.Windows.Forms.Label contentLabel;\r
+               private System.Windows.Forms.Button okButton;\r
+               private System.Windows.Forms.Button cancelButton;\r
+               private System.Windows.Forms.Button noButton;\r
+               private System.Windows.Forms.Button yesButton;\r
+               private System.Windows.Forms.Label mainInstLabel;\r
+               private System.Windows.Forms.FlowLayoutPanel contentFlowLayoutPanel;\r
+               private System.Windows.Forms.PictureBox iconPictureBox;\r
+       }\r
+}\r
diff --git a/AppliStation/AppliStation.Util/OptionDialog.cs b/AppliStation/AppliStation.Util/OptionDialog.cs
new file mode 100644 (file)
index 0000000..c976b2e
--- /dev/null
@@ -0,0 +1,146 @@
+using System;\r
+using System.Drawing;\r
+using System.Windows.Forms;\r
+\r
+namespace AppliStation.Util\r
+{\r
+       /// <summary>\r
+       /// Description of OptionDialog.\r
+       /// </summary>\r
+       public partial class OptionDialog : Form\r
+       {\r
+               private object userInputValue = null;\r
+               \r
+               public OptionDialog()\r
+               {\r
+                       //\r
+                       // The InitializeComponent() call is required for Windows Forms designer support.\r
+                       //\r
+                       InitializeComponent();\r
+                       \r
+                       mainInstLabel.Font = SystemFonts.CaptionFont;\r
+               }\r
+               \r
+               private void SomeButtonClick(object sender, EventArgs e)\r
+               {\r
+                       this.Close();\r
+               }\r
+               \r
+               private void HandleUserInput(object sender, EventArgs e)\r
+               {\r
+                       TextBoxBase textBox = sender as TextBoxBase;\r
+                       RadioButton radioButton = sender as RadioButton;\r
+                       \r
+                       if (textBox != null) {\r
+                               this.userInputValue = textBox.Text;     \r
+                       }\r
+                       if (radioButton != null) {\r
+                               this.userInputValue = radioButton.Tag;  \r
+                       }\r
+               }\r
+               \r
+               public string MainInstructionText {\r
+                       set {\r
+                               mainInstLabel.Text = value ?? string.Empty;\r
+                               mainInstLabel.Visible = ! string.IsNullOrEmpty(value);\r
+                       }\r
+                       get {   return mainInstLabel.Text;      }\r
+               }\r
+               public string ContentText {\r
+                       set {\r
+                               contentLabel.Text = value ?? string.Empty;\r
+                               contentLabel.Visible = ! string.IsNullOrEmpty(value);\r
+                       }\r
+                       get {   return mainInstLabel.Text;      }\r
+               }\r
+               public Image Image {\r
+                       set {   iconPictureBox.Image = value;   }\r
+                       get {   return iconPictureBox.Image;    }\r
+               }\r
+               public MessageBoxButtons Buttons {\r
+                       set {\r
+                               okButton.Enabled         = okButton.Visible             = (value == MessageBoxButtons.OK) || (value == MessageBoxButtons.OKCancel);\r
+                               cancelButton.Enabled = cancelButton.Visible     = (value == MessageBoxButtons.OKCancel) || (value == MessageBoxButtons.YesNoCancel);\r
+                               yesButton.Enabled        = yesButton.Visible    = (value == MessageBoxButtons.YesNo) || (value == MessageBoxButtons.YesNoCancel);\r
+                               noButton.Enabled         = noButton.Visible             = (value == MessageBoxButtons.YesNo) || (value == MessageBoxButtons.YesNoCancel);\r
+                               \r
+                               if (okButton.Enabled) {\r
+                                       this.AcceptButton = okButton;\r
+                               } else if (yesButton.Enabled) {\r
+                                       this.AcceptButton = yesButton;\r
+                               }\r
+                       }\r
+                       get {\r
+                               bool ok = okButton.Enabled;\r
+                               bool cancel = cancelButton.Enabled;\r
+                               bool yes = yesButton.Enabled;\r
+                               bool no = noButton.Enabled;\r
+                               \r
+                               if (ok && !cancel && !yes && !no) {\r
+                                       return MessageBoxButtons.OK;\r
+                               } else if (ok && cancel && !yes && !no) {\r
+                                       return MessageBoxButtons.OKCancel;\r
+                               } else if (!ok && !cancel && yes && no) {\r
+                                       return MessageBoxButtons.YesNo;\r
+                               } else if (!ok && cancel && yes && no) {\r
+                                       return MessageBoxButtons.YesNoCancel;\r
+                               } else {\r
+                                       return (MessageBoxButtons) 0xFFFFu;\r
+                               }\r
+                       }\r
+               }\r
+               public Control.ControlCollection Content {\r
+                       get {   return contentFlowLayoutPanel.Controls; }\r
+               }\r
+               \r
+               public object UserInputValue {\r
+                       get { return userInputValue; }\r
+               }\r
+               \r
+               public void BuildRadioButtons(string[] options, int initialOption) {\r
+                       this.Content.Clear();\r
+                       \r
+                       for (int i = 0; i < options.Length; i++) {\r
+                               RadioButton optRadios = new RadioButton();\r
+                               optRadios.Text = options[i];\r
+                               optRadios.Tag = i;\r
+                               optRadios.Click += HandleUserInput;\r
+                               \r
+                               if (i == initialOption) {\r
+                                       optRadios.Checked = true;\r
+                                       this.userInputValue = initialOption;\r
+                               } else {\r
+                                       optRadios.Checked = false;\r
+                               }\r
+                               \r
+                               this.Content.Add(optRadios);\r
+                       }\r
+               }\r
+               \r
+               public static OptionDialog createMessageDialog(string message, string title, string mainInstruction, Icon icon)\r
+               {\r
+                       return createOptionDialog(message, title, mainInstruction, icon, MessageBoxButtons.OK, null, -1);\r
+               }\r
+               \r
+               public static OptionDialog createConfirmDialog(string message, string title, string mainInstruction, Icon icon, MessageBoxButtons buttons)\r
+               {\r
+                       return createOptionDialog(message, title, mainInstruction, icon, buttons, null, -1);\r
+               }\r
+               \r
+               public static OptionDialog createOptionDialog(string message, string title, string mainInstruction, Icon icon, MessageBoxButtons buttons, string[] options, int initialOption)\r
+               {\r
+                       OptionDialog dialog = new OptionDialog();\r
+                       dialog.Text = title;\r
+                       dialog.ContentText = message;\r
+                       dialog.MainInstructionText = mainInstruction;\r
+                       dialog.Image = (icon != null)? icon.ToBitmap() : null;\r
+                       dialog.Buttons = buttons;\r
+                       \r
+                       if (options != null) {\r
+                               dialog.BuildRadioButtons(options, initialOption);\r
+                       }\r
+                       \r
+                       return dialog;\r
+               }\r
+       }\r
+}\r
diff --git a/AppliStation/AppliStation.Util/OptionDialog.resx b/AppliStation/AppliStation.Util/OptionDialog.resx
new file mode 100644 (file)
index 0000000..bb5d4cc
--- /dev/null
@@ -0,0 +1,126 @@
+<?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
+  <metadata name="topTableLayoutPane.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
+    <value>False</value>\r
+  </metadata>\r
+  <metadata name="btnsAreaTableLayoutPanel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r
+    <value>False</value>\r
+  </metadata>\r
+</root>
\ No newline at end of file
index 20eb7b2..76139b2 100644 (file)
     <Compile Include="AppliStation.Util\ListViewItemSortComparer.cs" />\r
     <Compile Include="AppliStation.Util\NativeMethods.cs" />\r
     <Compile Include="AppliStation.Util\GUIUtils.cs" />\r
+    <Compile Include="AppliStation.Util\OptionDialog.cs" />\r
+    <Compile Include="AppliStation.Util\OptionDialog.Designer.cs">\r
+      <DependentUpon>OptionDialog.cs</DependentUpon>\r
+    </Compile>\r
     <Compile Include="AppliStation.Util\SprashScreenLayered.cs" />\r
     <Compile Include="AppliStation.Util\ToolStripPetitLauncherMenuItem.cs" />\r
     <Compile Include="AppliStation.Util\ToolStripWeb2LikeTextBox.cs" />\r
     <EmbeddedResource Include="AppliStation.Util\ExecutionProgressViewer.resx">\r
       <DependentUpon>ExecutionProgressViewer.cs</DependentUpon>\r
     </EmbeddedResource>\r
+    <EmbeddedResource Include="AppliStation.Util\OptionDialog.resx">\r
+      <DependentUpon>OptionDialog.cs</DependentUpon>\r
+    </EmbeddedResource>\r
     <EmbeddedResource Include="PackageListViewForm.resx">\r
       <DependentUpon>PackageListViewForm.cs</DependentUpon>\r
     </EmbeddedResource>\r