Part C: TreeView Use in your project
From NeoAxis Engine Wiki
I will use my project as an example for how i use the treeview gui:
1) Here is how i load my TreeView and AddItems and SubItems to it in my project.
public void StatsUIUpdate()
{
ETreeView stats;
stats = (ETreeView)hudControl.Controls["statspanel"];
if (stats != null)
{
if (ourHero != null)
{
stats.ClearList();
stats.Items.Add("+ Primary Stats");
stats.Items.Add("+ Secondary Stats");
stats.Items.Add("Combat Level = " + ourHero.Type.CombatLevel.ToString());
stats.Items.Add("");
stats.AddSubList(0, 0, "- Strength: " + ourHero.Type.Strength.ToString());
stats.AddSubList(0, 1, "- Dexterity: " + ourHero.Type.Dexterity.ToString());
stats.AddSubList(0, 2, "- Vitality: " + ourHero.Type.Vitality.ToString());
stats.AddSubList(0, 3, "- Intelligence: " + ourHero.Type.Intelligence.ToString());
stats.AddSubList(0, 4, "- Intuition: " + ourHero.Type.Intuition.ToString());
stats.AddSubList(0, 5, "");
stats.AddSubList(1, 0, "- Accuracy: " + ourHero.Type.Dexterity.ToString());
stats.AddSubList(1, 1, "- Reaction: " + Math.Ceiling(ourHero.Type.Dexterity - ourHero.Type.Strength / 4).ToString());
stats.AddSubList(1, 2, "");
}
}
}
Looks simple right? not much change from ListBox,
You Add main items to the tree view in the same way you would add to a list box,
stats.Items.Add("MainItem1");
stats.Items.Add("MainItem2");
stats.Items.Add("MainItem3");
You add Sub items like this:
stats.AddSubList(0, 0, "Subitem1-1" ); stats.AddSubList(0, 1, "Subitem1-2" ); stats.AddSubList(0, 2, "Subitem1-3" ); stats.AddSubList(1, 0, "Subitem2-1" ); stats.AddSubList(1, 1, "Subitem2-2" ); stats.AddSubList(2, 0, "Subitem3-1" ); stats.AddSubList(2, 1, "Subitem3-2" );
This will output the following:
MainItem1 Subitem1-1 Subitem1-2 Subitem1-3 MainItem2 Subitem2-1 Subitem2-2 MainItem3 Subitem3-1 Subitem3-2
To be able to use full functionality of the TreeView you will need to add the function to OnTick();
for my code i add:
float TimerUI;
protected override void OnTick()
{
if (TimerUI > 1)
{
StatsUIUpdate();
TimerUI = 0;
}
Because i have dynamic values inside my TreeView this ensures that my TreeView is refreshed every second.
You should now be able to compile and run.
It should display your tree and allow you to open and close main item groups.
I hope your found this tutorial of some use.
Thankyou, Daryl Reeves (dazrulez)
