fixed listing of types

This commit is contained in:
John Jenko 2010-06-10 17:23:45 +00:00
parent eb1cd31e09
commit d69c2806f7
2 changed files with 1216 additions and 1075 deletions

File diff suppressed because it is too large Load Diff

View File

@ -143,6 +143,19 @@ namespace Volian.Controls.Library
} }
} }
private DevComponents.AdvTree.Node NewAdvTreeNode(string nodetext, bool selectable, bool chxbxvisable)
{
DevComponents.AdvTree.Node newnode;
newnode = new DevComponents.AdvTree.Node();
newnode.Text = nodetext;
newnode.Selectable = selectable;
newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
newnode.CheckBoxThreeState = false;
newnode.CheckBoxVisible = chxbxvisable;
return newnode;
}
public void advTreeStepTypesFillIn() public void advTreeStepTypesFillIn()
{ {
DevComponents.AdvTree.Node topnode = new DevComponents.AdvTree.Node(); DevComponents.AdvTree.Node topnode = new DevComponents.AdvTree.Node();
@ -158,48 +171,69 @@ namespace Volian.Controls.Library
DevComponents.AdvTree.Node newnode; DevComponents.AdvTree.Node newnode;
advTreeStepTypes.Nodes.Clear(); advTreeStepTypes.Nodes.Clear();
// Add a dummy node for searching Accessory Sections (MS Word sections) // Add a dummy node for searching Accessory Sections (MS Word sections)
newnode = new DevComponents.AdvTree.Node(); //newnode = new DevComponents.AdvTree.Node();
newnode.Text = "Accessory Sections"; //newnode.Text = "Accessory Sections";
newnode.Selectable = true; //newnode.Selectable = true;
newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter; //newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox; //newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
newnode.CheckBoxThreeState = false; //newnode.CheckBoxThreeState = false;
newnode.CheckBoxVisible = true; //newnode.CheckBoxVisible = true;
newnode = NewAdvTreeNode("Accessory Sections", true, true);
advTreeStepTypes.Nodes.Add(newnode); advTreeStepTypes.Nodes.Add(newnode);
foreach (StepDataRetval sdr in lstSrchStpTypes) foreach (StepDataRetval sdr in lstSrchStpTypes)
{ {
StepDataList sdl = fmtdata.StepDataList; ; StepDataList sdl = fmtdata.StepDataList; ;
StepData sd = sdl[sdr.Index]; // get the step type record StepData sd = sdl[sdr.Index]; // get the step type record
string parentName = sd.ParentType; // this gets the parent of the this step/substep type string parentName = sd.ParentType; // this gets the parent of the this step/substep type
newnode = new DevComponents.AdvTree.Node();
newnode.Text = sdr.Name; //Console.WriteLine("{0} {1} - {2}", parentName,sd.Type,sdr.Name);
newnode.Name = sd.Type; // this needed for the FindNodeByName() function //newnode = new DevComponents.AdvTree.Node();
newnode.Tag = sd; //newnode.Text = sdr.Name;
newnode.Selectable = true; //newnode.Name = sd.Type; // this needed for the FindNodeByName() function
newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter; //newnode.Tag = sd;
newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox; //newnode.Selectable = true;
newnode.CheckBoxThreeState = false; //newnode.CheckBoxAlignment = DevComponents.AdvTree.eCellPartAlignment.NearCenter;
newnode.CheckBoxVisible = true; //newnode.CheckBoxStyle = eCheckBoxStyle.CheckBox;
// if the parent node exists in the tree, then add the new node to that parent //newnode.CheckBoxThreeState = false;
// else, it is a parent node, so add it as a new parent //newnode.CheckBoxVisible = true;
if (parentName.Equals("Base"))
DevComponents.AdvTree.Node parnode = advTreeStepTypes.FindNodeByName(parentName); {
// Group by High Level Steps, Substeps, Cautions, Notes, Figures, Tables newnode = NewAdvTreeNode(sdr.Name, true, true);
while (!parentName.Equals("Base") && !parentName.Equals("Substep") && !parentName.Equals("High") && newnode.Tag = sd;
!parentName.Equals("Caution") && !parentName.Equals("Note") && !parentName.Equals("Table") && newnode.Name = sd.Type;
!parentName.Equals("Figure")) DevComponents.AdvTree.Node pnode = NewAdvTreeNode(sd.Type, true, false); //create parent node (non selectable)
{ pnode.Name = sd.Type;
StepData tmpsd = (StepData)parnode.Tag; pnode.Nodes.Add(newnode);
parentName = tmpsd.ParentType; pnode.Nodes.Sort();
parnode = advTreeStepTypes.FindNodeByName(parentName); advTreeStepTypes.Nodes.Add(pnode);
} }
if (parnode != null) else
{ {
parnode.Nodes.Add(newnode); newnode = NewAdvTreeNode(sdr.Name, true, true);
parnode.Nodes.Sort(); // sort the second level of the tree newnode.Name = sd.Type; // this needed for the FindNodeByName() function
} newnode.Tag = sd;
else
advTreeStepTypes.Nodes.Add(newnode); // if the parent node exists in the tree, then add the new node to that parent
// else, it is a parent node, so add it as a new parent
DevComponents.AdvTree.Node parnode = advTreeStepTypes.FindNodeByName(parentName);
// Group by High Level Steps, Substeps, Cautions, Notes, Figures, Tables
while (!parentName.Equals("Base") && !parentName.Equals("Substep") && !parentName.Equals("High") &&
!parentName.Equals("Caution") && !parentName.Equals("Note") && !parentName.Equals("Table") &&
!parentName.Equals("Figure"))
{
StepData tmpsd = (StepData)parnode.Tag;
parentName = tmpsd.ParentType;
parnode = advTreeStepTypes.FindNodeByName(parentName);
}
if (parnode != null)
{
parnode.Nodes.Add(newnode);
parnode.Nodes.Sort(); // sort the second level of the tree
}
else
advTreeStepTypes.Nodes.Add(newnode);
}
} }
advTreeStepTypes.Nodes.Sort(); // sort the first level of the tree advTreeStepTypes.Nodes.Sort(); // sort the first level of the tree
} }