// 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 { /// /// Description of ConfigForm. /// 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 /// /// 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. /// 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(); } } }