diff options
Diffstat (limited to 'C64ConfigForm.cs')
-rw-r--r-- | C64ConfigForm.cs | 190 |
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(); + } + + } +} |