Example #1
0
 public override void OnRefresh()
 {
     FactorTargets.OnRefresh();
     //ApsimFile.Component comp = Controller.ApsimData.Find(NodePath);
     if (Table != null)
     {
         Table.Clear();
         Table.Columns.Clear();
     }
     LoadManagerVariables();
 }
Example #2
0
        public override void OnSave()
        {
            FactorTargets.OnSave();
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(FactorTargets.GetData());
            Data.InnerXml = doc.DocumentElement.InnerXml;

            if (Table != null)
            {
                XmlNode variablesNode = Data.SelectSingleNode("//vars");
                if (variablesNode == null)
                {
                    variablesNode = Data.AppendChild(Data.OwnerDocument.CreateElement("vars"));
                }
                variablesNode.RemoveAll();
                if (Table.Rows.Count >= 10000)
                {
                    string[] values   = DataTableUtility.GetColumnAsStrings(Table, Table.Columns[0].ColumnName);
                    string   csvValue = "";
                    foreach (string value in values)
                    {
                        if (value != "")
                        {
                            if (csvValue != "")
                            {
                                csvValue += ",";
                            }
                            csvValue += value;
                        }
                        else
                        {
                            break;
                        }
                    }
                    XmlNode varNode = variablesNode.AppendChild(Data.OwnerDocument.CreateElement(Table.Columns[0].ColumnName));
                    varNode.InnerText = csvValue;
                }
                else
                {
                    foreach (DataRow row in Table.Rows)
                    {
                        if ((bool)row[0])
                        {
                            XmlNode varNode = variablesNode.AppendChild(Data.OwnerDocument.CreateElement(row[1].ToString()));
                            varNode.InnerText = row[3].ToString();
                        }
                    }
                }
            }
        }
Example #3
0
 public override bool OnDropData(StringCollection SourcePaths, string FullXML)
 {
     //if there are no children, then add the droppednodes as targets
     //don't add to targets if there is existing children
     //don't add to targets if the source is from the Factorial Tree
     ApsimFile.Component thisComp = Controller.ApsimData.Find(NodePath);
     //if (thisComp.ChildNodes.Count == 0)
     {
         FactorTargets.AddTargets(SourcePaths);
     }
     thisComp.Add(FullXML);
     OnRefresh();
     return(true);
 }
Example #4
0
 protected override void OnLoad()
 {
     FactorTargets.OnLoad(Controller, NodePath, Data.OuterXml);
 }