286 lines
7.3 KiB
C#
286 lines
7.3 KiB
C#
using System;
|
|
using System.Drawing;
|
|
using System.Collections;
|
|
using System.ComponentModel;
|
|
using System.Windows.Forms;
|
|
using System.Data;
|
|
|
|
|
|
using System.IO;
|
|
using System.Runtime.Serialization.Formatters.Binary;
|
|
using System.Runtime.Serialization;
|
|
using GZTW.AyaNova.BLL;
|
|
|
|
|
|
namespace AylXML
|
|
{
|
|
/// <summary>
|
|
/// Summary description for Form1.
|
|
/// </summary>
|
|
public class Form1 : System.Windows.Forms.Form
|
|
{
|
|
private System.Windows.Forms.OpenFileDialog dlgOpen;
|
|
private System.Windows.Forms.MainMenu mnu;
|
|
private System.Windows.Forms.MenuItem menuItem1;
|
|
private System.Windows.Forms.MenuItem mnuOpen;
|
|
private System.Windows.Forms.DataGrid grid;
|
|
private System.Windows.Forms.MenuItem mnuSaveAsXML;
|
|
private System.Windows.Forms.SaveFileDialog dlgSave;
|
|
/// <summary>
|
|
/// Required designer variable.
|
|
/// </summary>
|
|
private System.ComponentModel.Container components = null;
|
|
|
|
public Form1()
|
|
{
|
|
//
|
|
// Required for Windows Form Designer support
|
|
//
|
|
InitializeComponent();
|
|
|
|
//
|
|
// TODO: Add any constructor code after InitializeComponent call
|
|
//
|
|
}
|
|
|
|
/// <summary>
|
|
/// Clean up any resources being used.
|
|
/// </summary>
|
|
protected override void Dispose( bool disposing )
|
|
{
|
|
if( disposing )
|
|
{
|
|
if (components != null)
|
|
{
|
|
components.Dispose();
|
|
}
|
|
}
|
|
base.Dispose( disposing );
|
|
}
|
|
|
|
#region Windows Form Designer generated code
|
|
/// <summary>
|
|
/// Required method for Designer support - do not modify
|
|
/// the contents of this method with the code editor.
|
|
/// </summary>
|
|
private void InitializeComponent()
|
|
{
|
|
this.dlgOpen = new System.Windows.Forms.OpenFileDialog();
|
|
this.mnu = new System.Windows.Forms.MainMenu();
|
|
this.menuItem1 = new System.Windows.Forms.MenuItem();
|
|
this.mnuOpen = new System.Windows.Forms.MenuItem();
|
|
this.mnuSaveAsXML = new System.Windows.Forms.MenuItem();
|
|
this.grid = new System.Windows.Forms.DataGrid();
|
|
this.dlgSave = new System.Windows.Forms.SaveFileDialog();
|
|
((System.ComponentModel.ISupportInitialize)(this.grid)).BeginInit();
|
|
this.SuspendLayout();
|
|
//
|
|
// mnu
|
|
//
|
|
this.mnu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
|
|
this.menuItem1});
|
|
//
|
|
// menuItem1
|
|
//
|
|
this.menuItem1.Index = 0;
|
|
this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
|
|
this.mnuOpen,
|
|
this.mnuSaveAsXML});
|
|
this.menuItem1.Text = "&File";
|
|
//
|
|
// mnuOpen
|
|
//
|
|
this.mnuOpen.Index = 0;
|
|
this.mnuOpen.Text = "&Open";
|
|
this.mnuOpen.Click += new System.EventHandler(this.mnuOpen_Click);
|
|
//
|
|
// mnuSaveAsXML
|
|
//
|
|
this.mnuSaveAsXML.Enabled = false;
|
|
this.mnuSaveAsXML.Index = 1;
|
|
this.mnuSaveAsXML.Text = "Save to XML";
|
|
this.mnuSaveAsXML.Click += new System.EventHandler(this.mnuSaveAsXML_Click);
|
|
//
|
|
// grid
|
|
//
|
|
this.grid.DataMember = "";
|
|
this.grid.Dock = System.Windows.Forms.DockStyle.Fill;
|
|
this.grid.FlatMode = true;
|
|
this.grid.HeaderForeColor = System.Drawing.SystemColors.ControlText;
|
|
this.grid.Location = new System.Drawing.Point(0, 0);
|
|
this.grid.Name = "grid";
|
|
this.grid.PreferredColumnWidth = 100;
|
|
this.grid.ReadOnly = true;
|
|
this.grid.Size = new System.Drawing.Size(608, 409);
|
|
this.grid.TabIndex = 0;
|
|
//
|
|
// Form1
|
|
//
|
|
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
|
this.ClientSize = new System.Drawing.Size(608, 409);
|
|
this.Controls.Add(this.grid);
|
|
this.Menu = this.mnu;
|
|
this.Name = "Form1";
|
|
this.Text = "Form1";
|
|
this.Load += new System.EventHandler(this.Form1_Load);
|
|
((System.ComponentModel.ISupportInitialize)(this.grid)).EndInit();
|
|
this.ResumeLayout(false);
|
|
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// The main entry point for the application.
|
|
/// </summary>
|
|
[STAThread]
|
|
static void Main()
|
|
{
|
|
Application.Run(new Form1());
|
|
}
|
|
|
|
|
|
// __ _ _ ___ ____ __ __ __ __ __ ___ ___
|
|
// / _)( )( )/ __)(_ _)/ \( \/ ) / _)/ \( \( _)
|
|
// ( (_ )()( \__ \ )( ( () )) ( ( (_( () )) ) )) _)
|
|
// \__) \__/ (___/ (__) \__/(_/\/\_) \__)\__/(___/(___)
|
|
//
|
|
|
|
|
|
private DataTable dt=null;
|
|
private void Form1_Load(object sender, System.EventArgs e)
|
|
{
|
|
dt=new DataTable("LT");
|
|
//setup the columns
|
|
dt.Columns.Add("Locale",typeof(string));
|
|
dt.Columns.Add("Key",typeof(string));
|
|
dt.Columns.Add("DisplayText",typeof(string));
|
|
|
|
|
|
dt.PrimaryKey=new DataColumn[]{dt.Columns[0],dt.Columns[1]};
|
|
grid.DataSource=dt;
|
|
}
|
|
|
|
private void mnuOpen_Click(object sender, System.EventArgs e)
|
|
{
|
|
dlgOpen.Filter=
|
|
"Localized text file|*.ayl";
|
|
if(dlgOpen.ShowDialog()==DialogResult.OK)
|
|
{
|
|
|
|
Import(dlgOpen.FileName);
|
|
|
|
}
|
|
this.mnuSaveAsXML.Enabled=true;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void Import(string path)
|
|
{
|
|
LocalePortable lp =null;
|
|
FileStream fs = new FileStream(path, FileMode.Open);
|
|
try
|
|
{
|
|
// Construct a BinaryFormatter and use it to de-serialize the data from the stream.
|
|
BinaryFormatter formatter = new BinaryFormatter();
|
|
formatter.AssemblyFormat=System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple;
|
|
|
|
lp=(LocalePortable)formatter.Deserialize(fs);
|
|
}
|
|
catch (SerializationException e)
|
|
{
|
|
MessageBox.Show("Failed to deserialize. Reason: " + e.Message);
|
|
throw;
|
|
}
|
|
finally
|
|
{
|
|
fs.Close();
|
|
}
|
|
|
|
dt.Clear();
|
|
this.Refresh();
|
|
Cursor.Current=Cursors.WaitCursor;
|
|
foreach(LocalizedTextPortable o in lp.Items)
|
|
{
|
|
dt.Rows.Add(new object[] {lp.Locale,o.Key,o.DisplayText});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
private void Export(string path)
|
|
{
|
|
|
|
DataSet ds=new DataSet();
|
|
ds.Tables.Add(dt);
|
|
ds.WriteXml(path,XmlWriteMode.WriteSchema);
|
|
}
|
|
|
|
private void mnuSaveAsXML_Click(object sender, System.EventArgs e)
|
|
{
|
|
dlgSave.FileName=dt.Rows[0]["Locale"].ToString();
|
|
|
|
dlgSave.Filter=
|
|
"XML file|*.xml";
|
|
|
|
dlgSave.RestoreDirectory=true;
|
|
dlgSave.FilterIndex=1;
|
|
if(dlgSave.ShowDialog()==DialogResult.OK)
|
|
{
|
|
Cursor.Current=Cursors.WaitCursor;
|
|
Export(dlgSave.FileName);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// /// <summary>
|
|
// /// Contains a portable Locale
|
|
// ///
|
|
// ///
|
|
// /// Used for serializing and de-serializing a locale
|
|
// /// (i.e. importing and exporting locales outside the program)
|
|
// /// </summary>
|
|
// [Serializable]
|
|
// public class LocalePortable
|
|
// {
|
|
//
|
|
// private ArrayList mItems;
|
|
// public ArrayList Items{get{return mItems;}set{mItems=value;}}
|
|
//
|
|
// private string mLocale;
|
|
// public string Locale{get{return mLocale;}set{mLocale=value;}}
|
|
//
|
|
//
|
|
// }
|
|
//
|
|
//
|
|
//
|
|
// /// <summary>
|
|
// /// Contains a portable Localized text object data
|
|
// ///
|
|
// ///
|
|
// /// Used for serializing and de-serializing a locale
|
|
// /// (i.e. importing and exporting locales outside the program)
|
|
// /// </summary>
|
|
// [Serializable]
|
|
// public class LocalizedTextPortable
|
|
// {
|
|
//
|
|
// private string mKey;
|
|
// public string Key{get{return mKey;}set{mKey=value;}}
|
|
//
|
|
// private string mDisplayText;
|
|
// public string DisplayText{get{return mDisplayText;}set{mDisplayText=value;}}
|
|
//
|
|
//
|
|
// }
|
|
//------------------------
|
|
}
|
|
}
|