Info per file implemented (more testing required)
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user