예제 #1
0
        public Form1(string[] args)
        {
            InitializeComponent();
            this.Icon = Properties.Resources.Ryder25;
            LNG = new DataSet("language");
            fRF = new FindAndReplaceForm(this.lngDataGridView);
            filePath = openFileDialog.FileName;
            lngDataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            lngDataGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;
            lngDataGridView.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
            lngDataGridView.AllowUserToAddRows = false;
            lngDataGridView.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.ColorTranslator.FromHtml("#E8EDFF");
            DgvFilterManager dgvfm = new DgvFilterManager(lngDataGridView);
            // Open With
            if (args.Length > 0) {
                if (File.Exists(args[0]) == true) {
                    filePath = args[0];
                    Stream s = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
                    lngFile = new LngFile(s);
                    lngDataGridView.DataSource = lngFile.GetDataTable();

                    this.Text = "Ego Language Editor - " + filePath;
                }
            }
        }
예제 #2
0
        public LngFile GetDifferences(LngFile two)
        {
            // Setup Differences Language
            DataSet differencesSet = new DataSet("language");

            differencesSet.Tables.Add(GetInfoTable());
            // Copy Structure
            DataTable table    = GetDataTable();
            DataTable tableTwo = two.GetDataTable();
            DataTable diffs    = table.Clone();

            // Get Differences and Load them into DataTable diffs
            for (int i = 0; i < tableTwo.Rows.Count; i++)
            {
                DataRow tableRow = table.Rows.Find(tableTwo.Rows[i][0]);
                if (tableRow == null || !tableRow[1].Equals(tableTwo.Rows[i][1]))
                {
                    diffs.ImportRow(tableTwo.Rows[i]);
                }
            }

            // Save differences into XML file
            differencesSet.Tables.Add(diffs);
            return(new LngFile(differencesSet));
        }
예제 #3
0
        private void compareFilesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lngFile == null)
                return;

            openFileDialog.FilterIndex = 1;
            openFileDialog.InitialDirectory = Path.GetDirectoryName(filePath);
            openFileDialog.FileName = Path.GetFileName(filePath).Replace(".xml", ".lng");
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    LngFile two = new LngFile(File.Open(openFileDialog.FileName, FileMode.Open, FileAccess.Read, FileShare.Read));
                    openFileDialog.Dispose();
                    saveFileDialog.FilterIndex = 2;
                    saveFileDialog.InitialDirectory = Path.GetDirectoryName(filePath);
                    saveFileDialog.FileName = Path.GetFileName(filePath).Replace(".lng", "Differences.xml");
                    if (saveFileDialog.ShowDialog() == DialogResult.OK)
                    {
                        LngFile differences = lngFile.GetDifferences(two);
                        differences.WriteXml(File.Open(saveFileDialog.FileName, FileMode.Create, FileAccess.ReadWrite, FileShare.Read));
                        saveFileDialog.Dispose();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("The program failed to compare the files:" + Environment.NewLine + Environment.NewLine + ex.Message, "Ryder Language Editor", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
예제 #4
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog.FilterIndex = 1;
            openFileDialog.InitialDirectory = Path.GetDirectoryName(filePath);
            openFileDialog.FileName = Path.GetFileName(filePath).Replace(".xml", ".lng");
            if (openFileDialog.ShowDialog() == DialogResult.OK) {
                // Clean
                lngDataGridView.DataSource = null;
                lngDataGridView.Rows.Clear();
                lngDataGridView.Columns.Clear();
                filePath = openFileDialog.FileName;
                openFileDialog.Dispose();
                Stream s = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
                try {
                    lngFile = new LngFile(s);
                }
                catch (Exception ex) {
                    MessageBox.Show("Conversion Failed!" + Environment.NewLine + ex.Message, "Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                lngDataGridView.DataSource = lngFile.GetDataTable();

                this.Text = "EGO Language Editor - " + filePath;
            }
        }
예제 #5
0
 private void importAsXMLToolStripMenuItem_Click(object sender, EventArgs e)
 {
     openFileDialog.FilterIndex = 2;
     openFileDialog.InitialDirectory = Path.GetDirectoryName(filePath);
     openFileDialog.FileName = filePath.Replace(".lng", ".xml");
     if (openFileDialog.ShowDialog() == DialogResult.OK) {
         // Clean
         lngDataGridView.DataSource = null;
         lngDataGridView.Rows.Clear();
         lngDataGridView.Columns.Clear();
         LNG = new DataSet("language");
         //LNG.ReadXmlSchema(Path.GetFullPath(openFileDialog.FileName).Replace(Path.GetFileName(openFileDialog.FileName), string.Empty) +
                 //Path.GetFileNameWithoutExtension(openFileDialog.FileName) + "_schema.xsd");
         try {
             LNG.ReadXml(File.Open(openFileDialog.FileName, FileMode.Open, FileAccess.Read, FileShare.Read), XmlReadMode.ReadSchema);
         }
         catch (Exception ex) {
             MessageBox.Show("Loading XML failed!" + Environment.NewLine + ex.Message, "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
             return;
         }
         lngFile = new LngFile(LNG);
         lngDataGridView.DataSource = LNG.Tables[1];
         filePath = openFileDialog.FileName;
         this.Text = "EGO Language Editor - " + openFileDialog.FileName;
         openFileDialog.Dispose();
     }
 }
예제 #6
0
		public AddRow(LngFile _file) {
			InitializeComponent();
            file = _file;
            textBox1.SelectAll();
		}
예제 #7
0
        public LngFile GetDifferences(LngFile two)
        {
            // Setup Differences Language
            DataSet differencesSet = new DataSet("language");
            differencesSet.Tables.Add(GetInfoTable());
            // Copy Structure
            DataTable table = GetDataTable();
            DataTable tableTwo = two.GetDataTable();
            DataTable diffs = table.Clone();

            // Get Differences and Load them into DataTable diffs
            for (int i = 0; i < tableTwo.Rows.Count; i++)
            {
                DataRow tableRow = table.Rows.Find(tableTwo.Rows[i][0]);
                if (tableRow == null || !tableRow[1].Equals(tableTwo.Rows[i][1]))
                {
                    diffs.ImportRow(tableTwo.Rows[i]);
                }
            }

            // Save differences into XML file
            differencesSet.Tables.Add(diffs);
            return new LngFile(differencesSet);
        }