This commit is contained in:
285
utils/AylXML/Form1.cs
Normal file
285
utils/AylXML/Form1.cs
Normal file
@@ -0,0 +1,285 @@
|
||||
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;}}
|
||||
//
|
||||
//
|
||||
// }
|
||||
//------------------------
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user