Info per file implemented (more testing required)

This commit is contained in:
2015-07-16 00:37:11 +02:00
parent a06104a7cc
commit 92c5165035
6 changed files with 244 additions and 89 deletions

View File

@ -14,6 +14,7 @@ using System.Text.RegularExpressions;
using System.Reflection;
using System.IO;
using System.Resources;
using System.Xml.Serialization;
//---------------------------förändrings krav---------------------------
// 1.) Indexerande mellannivåer där count-måste sättas får inte hoppas över !
@ -39,6 +40,9 @@ namespace CobXmlSupport
private string indTemp = "";
private char[] splitChars = { '#' };
Dictionary<string, GenSetting> setObjs; // = new Dictionary<string, GenSetting>();
SaverListener sl;
//private string SettingUserName, SettingCompany;
////-------------------------
//private bool SettingNoNsRef;
@ -79,10 +83,21 @@ namespace CobXmlSupport
public GenCobCode()
{
InitializeComponent();
setObjs = new Dictionary<string, GenSetting>();
sl = new SaverListener();
sl.dict = setObjs;
}
private void button1_Click(object sender, EventArgs e)
{
S.ettingActualFile = cmbLastFile.Text.Substring(cmbLastFile.Text.LastIndexOf("\\") + 1);
GenSetting tmpGS = null;
sl.dict.TryGetValue(S.ettingActualFile, out tmpGS);
if (tmpGS != null)
{
tmpGS.SetSettings();
setLocalValues();
}
runXMLgen();
}
@ -100,6 +115,16 @@ namespace CobXmlSupport
if (cmbLastFile.Text.Length > 0)
{
S.ettingActualFile = cmbLastFile.Text.Substring(cmbLastFile.Text.LastIndexOf("\\") + 1);
//GenSetting tmpGS=null;
//sl.dict.TryGetValue(S.ettingActualFile, out tmpGS);
//if (tmpGS != null)
//{
// tmpGS.SetSettings();
// setLocalValues();
//}
S.ettingFilePath = cmbLastFile.Text.Substring(0,cmbLastFile.Text.LastIndexOf("\\"));
uniqueTags = new Dictionary<string, string>();
uniqueAttr = new Dictionary<string, string>();
uniqueVars = new Dictionary<string, string>();
@ -683,6 +708,29 @@ namespace CobXmlSupport
}
}
private void DeserializeMetaData()
{
string SavePath = Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]).ToString();
GenSetting[] saveColl = null;
setObjs = new Dictionary<string, GenSetting>();
if (File.Exists(SavePath + "\\FilnamnsDict.xml"))
{
XmlSerializer x = new XmlSerializer(typeof(GenSetting[]));
StreamReader reader = new StreamReader(SavePath + "\\FilnamnsDict.xml");
saveColl = (GenSetting[])x.Deserialize(reader);
foreach (GenSetting g in saveColl)
{
setObjs.Add(g.ActualFile, g);
}
}
sl.dict = setObjs;
}
private void Form1_Load(object sender, EventArgs e)
{
@ -697,11 +745,24 @@ namespace CobXmlSupport
chkWrap.Checked = true;
chkNewArea.Checked = false;
cmbLastFile.Items.Clear();
foreach (string usedFile in Properties.Settings.Default.LastFile)
{
cmbLastFile.Items.Add(usedFile);
}
DeserializeMetaData();
if (sl.dict.Count > 0)
{
cmbLastFile.Items.Clear();
foreach (GenSetting x in sl.dict.Values)
{
cmbLastFile.Items.Add(x.FilePath + "\\" + x.ActualFile);
}
}
S.ettingUserName = Properties.Settings.Default.UserName;
S.ettingCompany = Properties.Settings.Default.CompanyName;
@ -741,6 +802,7 @@ namespace CobXmlSupport
{
cmbLastFile.Text = cmbLastFile.Items[0].ToString();
}
}
private void btnClose_Click(object sender, EventArgs e)
@ -1132,8 +1194,36 @@ namespace CobXmlSupport
Properties.Settings.Default.CompanyName = S.ettingCompany;
Properties.Settings.Default.UserName = S.ettingUserName;
Properties.Settings.Default.Save();
SerializeMetadata();
}
private void SerializeMetadata()
{
string SavePath = Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]).ToString();
GenSetting[] saveColl = new GenSetting[setObjs.Count];
int i = 0;
foreach (GenSetting x in setObjs.Values)
{
saveColl[i++] = x;
}
try
{
XmlSerializer x = new XmlSerializer(saveColl.GetType());
StreamWriter writer = new StreamWriter(SavePath + "\\FilnamnsDict.xml", false);
x.Serialize(writer, saveColl);
MessageBox.Show("Objektet är serialiserat !(" + SavePath + "\\FilnamnsDict.xml)");
}
catch (Exception ex)
{
MessageBox.Show("Serialisering : " + ex.Message);
}
}
private void btnClearSettings_Click(object sender, EventArgs e)
{
cmbLastFile.Items.Clear();
@ -1142,11 +1232,13 @@ namespace CobXmlSupport
private void chkWrap_CheckedChanged(object sender, EventArgs e)
{
S.ettingWrap = chkWrap.Checked;
if (!eventRun) runXMLgen();
}
private void chkNoNsRef_CheckedChanged(object sender, EventArgs e)
{
S.ettingNoNsRef = chkNoNsRef.Checked;
if (!eventRun)
{
eventRun = true;
@ -1158,31 +1250,37 @@ namespace CobXmlSupport
private void chkAnaTag_CheckedChanged(object sender, EventArgs e)
{
S.ettingAnaTag = chkAnaTag.Checked;
if (!eventRun) runXMLgen();
}
private void chkValues_CheckedChanged(object sender, EventArgs e)
{
S.ettingValues = chkValues.Checked;
if (!eventRun) runXMLgen();
}
private void chkUniqueAttrVars_CheckedChanged(object sender, EventArgs e)
{
S.ettingUniqueAttrVars = chkUniqueAttrVars.Checked;
if (!eventRun) runXMLgen();
}
private void chkUnique_CheckedChanged(object sender, EventArgs e)
{
S.ettingUnique = chkUnique.Checked;
if (!eventRun) runXMLgen();
}
private void chkUniqueVars_CheckedChanged(object sender, EventArgs e)
{
S.ettingUniqueVars = chkUniqueVars.Checked;
if (!eventRun) runXMLgen();
}
private void chkCountVars_CheckedChanged(object sender, EventArgs e)
{
S.ettingCountVars = chkCountVars.Checked;
if (!eventRun) runXMLgen();
}
@ -1191,52 +1289,79 @@ namespace CobXmlSupport
if (setWindow == null)
{
setWindow = new frmSettings();
setWindow.SL = this.sl;
setWindow.SettingObj = new GenSetting();
}
eventRun = true;
setWindow.UserName = S.ettingUserName;
setWindow.CompanyName = S.ettingCompany;
//setWindow.UserName = S.ettingUserName;
//setWindow.CompanyName = S.ettingCompany;
setWindow.AktualFile = S.ettingActualFile;
setWindow.FilePath = S.ettingFilePath;
//setWindow.AktualFile = S.ettingActualFile;
//setWindow.FilePath = S.ettingFilePath;
setWindow.ChkNoNsRef = S.ettingNoNsRef;
setWindow.ChkUniqueVars = S.ettingUniqueVars;
setWindow.ChkUniqueAttrVars = S.ettingUniqueAttrVars;
setWindow.ChkUnique = S.ettingUnique;
setWindow.ChkWrap = S.ettingWrap;
setWindow.ChkValues = S.ettingValues;
setWindow.ChkAnaTag = S.ettingAnaTag;
setWindow.TxtPrefix = S.ettingPrefix;
setWindow.TxtExpPrefix = S.ettingExpPrefix;
setWindow.TxtMaxOcc = S.ettingMaxOcc;
setWindow.ChkCountVars = S.ettingCountVars;
setWindow.LogPost = S.ettingLogVarName;
setWindow.LogSection = S.ettingLogSectName;
setWindow.ChkShowTestbtns = S.ettingSpecials;
setWindow.ChkBackupOwnCode = S.ettingUserCodeBcup;
//setWindow.ChkNoNsRef = S.ettingNoNsRef;
//setWindow.ChkUniqueVars = S.ettingUniqueVars;
//setWindow.ChkUniqueAttrVars = S.ettingUniqueAttrVars;
//setWindow.ChkUnique = S.ettingUnique;
//setWindow.ChkWrap = S.ettingWrap;
//setWindow.ChkValues = S.ettingValues;
//setWindow.ChkAnaTag = S.ettingAnaTag;
//setWindow.TxtPrefix = S.ettingPrefix;
//setWindow.TxtExpPrefix = S.ettingExpPrefix;
//setWindow.TxtMaxOcc = S.ettingMaxOcc;
//setWindow.ChkCountVars = S.ettingCountVars;
//setWindow.LogPost = S.ettingLogVarName;
//setWindow.LogSection = S.ettingLogSectName;
//setWindow.ChkShowTestbtns = S.ettingSpecials;
//setWindow.ChkBackupOwnCode = S.ettingUserCodeBcup;
setWindow.ShowDialog();
S.ettingUserName = setWindow.UserName;
S.ettingCompany = setWindow.CompanyName;
S.ettingNoNsRef = setWindow.ChkNoNsRef;
S.ettingUniqueVars = setWindow.ChkUniqueVars;
S.ettingUniqueAttrVars = setWindow.ChkUniqueAttrVars;
S.ettingUnique = setWindow.ChkUnique;
S.ettingWrap = setWindow.ChkWrap;
S.ettingValues = setWindow.ChkValues;
S.ettingAnaTag = setWindow.ChkAnaTag;
S.ettingPrefix = setWindow.TxtPrefix;
S.ettingExpPrefix = setWindow.TxtExpPrefix;
S.ettingMaxOcc = setWindow.TxtMaxOcc;
S.ettingCountVars = setWindow.ChkCountVars;
S.ettingLogVarName = setWindow.LogPost;
S.ettingLogSectName = setWindow.LogSection;
S.ettingSpecials = setWindow.ChkShowTestbtns;
S.ettingUserCodeBcup = setWindow.ChkBackupOwnCode;
//S.ettingUserName = setWindow.UserName;
//S.ettingCompany = setWindow.CompanyName;
//S.ettingNoNsRef = setWindow.ChkNoNsRef;
//S.ettingUniqueVars = setWindow.ChkUniqueVars;
//S.ettingUniqueAttrVars = setWindow.ChkUniqueAttrVars;
//S.ettingUnique = setWindow.ChkUnique;
//S.ettingWrap = setWindow.ChkWrap;
//S.ettingValues = setWindow.ChkValues;
//S.ettingAnaTag = setWindow.ChkAnaTag;
//S.ettingPrefix = setWindow.TxtPrefix;
//S.ettingExpPrefix = setWindow.TxtExpPrefix;
//S.ettingMaxOcc = setWindow.TxtMaxOcc;
//S.ettingCountVars = setWindow.ChkCountVars;
//S.ettingLogVarName = setWindow.LogPost;
//S.ettingLogSectName = setWindow.LogSection;
//S.ettingSpecials = setWindow.ChkShowTestbtns;
//S.ettingUserCodeBcup = setWindow.ChkBackupOwnCode;
setLocalValues();
//chkAnaTag.Checked = S.ettingAnaTag;
//chkCountVars.Checked = S.ettingCountVars;
//chkDisplays.Checked = true;
//chkNoNsRef.Checked = S.ettingNoNsRef;
//chkUnique.Checked = S.ettingUnique;
//chkUniqueAttrVars.Checked = S.ettingUniqueAttrVars;
//chkUniqueVars.Checked = S.ettingUniqueVars;
//chkValues.Checked = S.ettingValues;
//chkWrap.Checked = S.ettingWrap;
//txtMaxOcc.Text = S.ettingMaxOcc;
//txtPrefix.Text = S.ettingPrefix;
//txtExpPrefix.Text = S.ettingExpPrefix;
//btnTestThings.Visible = S.ettingSpecials;
//chkBackupVars.Checked = S.ettingUserCodeBcup;
eventRun = false;
runXMLgen();
}
private void setLocalValues()
{
eventRun = true;
chkAnaTag.Checked = S.ettingAnaTag;
chkCountVars.Checked = S.ettingCountVars;
chkDisplays.Checked = true;
@ -1251,10 +1376,7 @@ namespace CobXmlSupport
txtExpPrefix.Text = S.ettingExpPrefix;
btnTestThings.Visible = S.ettingSpecials;
chkBackupVars.Checked = S.ettingUserCodeBcup;
eventRun = false;
runXMLgen();
}
@ -2166,5 +2288,16 @@ namespace CobXmlSupport
}
private void txtPrefix_TextChanged(object sender, EventArgs e)
{
S.ettingPrefix = txtPrefix.Text;
}
private void txtExpPrefix_TextChanged(object sender, EventArgs e)
{
S.ettingExpPrefix = txtExpPrefix.Text;
}
}
}