// 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();
}
}
}