summaryrefslogtreecommitdiff
path: root/C64ConfigForm.cs
diff options
context:
space:
mode:
Diffstat (limited to 'C64ConfigForm.cs')
-rw-r--r--C64ConfigForm.cs190
1 files changed, 190 insertions, 0 deletions
diff --git a/C64ConfigForm.cs b/C64ConfigForm.cs
new file mode 100644
index 0000000..dd237e5
--- /dev/null
+++ b/C64ConfigForm.cs
@@ -0,0 +1,190 @@
+// Base plugin for GfxEd8
+// Copyright (C) 2004 Ian Cowburn
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//
+// $Id$
+//
+using System;
+using System.Windows.Forms;
+using System.IO;
+using GfxEdInterface;
+
+namespace GfxEdBasePlugin
+{
+ /// <summary>
+ /// Description of ConfigForm.
+ /// </summary>
+ public class C64ConfigForm : System.Windows.Forms.Form, IConfig
+ {
+ private System.Windows.Forms.RadioButton m_bas;
+ private System.Windows.Forms.GroupBox m_typeGroup;
+ private System.Windows.Forms.Button m_ok;
+ private System.Windows.Forms.RadioButton m_asm;
+ private System.Windows.Forms.RadioButton m_C;
+
+ public enum ExportFormat {Assembly, Basic, C};
+
+ public C64ConfigForm()
+ {
+ //
+ // The InitializeComponent() call is required for Windows Forms designer support.
+ //
+ InitializeComponent();
+ }
+
+ public ExportFormat Format
+ {
+ get
+ {
+ if (m_asm.Checked)
+ {
+ return ExportFormat.Assembly;
+ }
+ else if (m_bas.Checked)
+ {
+ return ExportFormat.Basic;
+ }
+
+ return ExportFormat.C;
+ }
+
+ set
+ {
+ foreach (RadioButton r in m_typeGroup.Controls)
+ {
+ r.Checked=false;
+ }
+
+ switch(value)
+ {
+ case ExportFormat.Assembly:
+ m_asm.Checked=true;
+ break;
+
+ case ExportFormat.Basic:
+ m_bas.Checked=true;
+ break;
+
+ case ExportFormat.C:
+ m_C.Checked=true;
+ break;
+ }
+ }
+ }
+
+ public void Settings(Form parent)
+ {
+ ShowDialog(parent);
+ }
+
+ public void Output(TextWriter stream)
+ {
+ stream.WriteLine(Format.ToString());
+ }
+
+ public void Input(TextReader stream)
+ {
+ string s=stream.ReadLine();
+
+ Format=(ExportFormat)Enum.Parse(typeof(ExportFormat),s);
+ }
+
+ #region Windows Forms Designer generated code
+ /// <summary>
+ /// This method is required for Windows Forms designer support.
+ /// Do not change the method contents inside the source code editor. The Forms designer might
+ /// not be able to load this method if it was changed manually.
+ /// </summary>
+ private void InitializeComponent() {
+ this.m_C = new System.Windows.Forms.RadioButton();
+ this.m_asm = new System.Windows.Forms.RadioButton();
+ this.m_ok = new System.Windows.Forms.Button();
+ this.m_typeGroup = new System.Windows.Forms.GroupBox();
+ this.m_bas = new System.Windows.Forms.RadioButton();
+ this.m_typeGroup.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // m_C
+ //
+ this.m_C.Location = new System.Drawing.Point(8, 72);
+ this.m_C.Name = "m_C";
+ this.m_C.Size = new System.Drawing.Size(120, 16);
+ this.m_C.TabIndex = 2;
+ this.m_C.Text = "C";
+ //
+ // m_asm
+ //
+ this.m_asm.Checked = true;
+ this.m_asm.Location = new System.Drawing.Point(8, 24);
+ this.m_asm.Name = "m_asm";
+ this.m_asm.Size = new System.Drawing.Size(72, 16);
+ this.m_asm.TabIndex = 0;
+ this.m_asm.TabStop = true;
+ this.m_asm.Text = "Assembly";
+ //
+ // m_ok
+ //
+ this.m_ok.Location = new System.Drawing.Point(56, 112);
+ this.m_ok.Name = "m_ok";
+ this.m_ok.Size = new System.Drawing.Size(96, 24);
+ this.m_ok.TabIndex = 0;
+ this.m_ok.Text = "OK";
+ this.m_ok.Click += new System.EventHandler(this.OnOK);
+ //
+ // m_typeGroup
+ //
+ this.m_typeGroup.Controls.Add(this.m_C);
+ this.m_typeGroup.Controls.Add(this.m_bas);
+ this.m_typeGroup.Controls.Add(this.m_asm);
+ this.m_typeGroup.Location = new System.Drawing.Point(8, 8);
+ this.m_typeGroup.Name = "m_typeGroup";
+ this.m_typeGroup.Size = new System.Drawing.Size(144, 96);
+ this.m_typeGroup.TabIndex = 1;
+ this.m_typeGroup.TabStop = false;
+ this.m_typeGroup.Text = "Export Type";
+ //
+ // m_bas
+ //
+ this.m_bas.Location = new System.Drawing.Point(8, 48);
+ this.m_bas.Name = "m_bas";
+ this.m_bas.Size = new System.Drawing.Size(128, 16);
+ this.m_bas.TabIndex = 1;
+ this.m_bas.Text = "Basic (ASCII format)";
+ //
+ // C64ConfigForm
+ //
+ this.AcceptButton = this.m_ok;
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(162, 143);
+ this.ControlBox = false;
+ this.Controls.Add(this.m_typeGroup);
+ this.Controls.Add(this.m_ok);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Name = "C64ConfigForm";
+ this.ShowInTaskbar = false;
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Configuration";
+ this.m_typeGroup.ResumeLayout(false);
+ this.ResumeLayout(false);
+ }
+ #endregion
+ void OnOK(object sender, System.EventArgs e)
+ {
+ Close();
+ }
+
+ }
+}