Work on treeview and adding unique ID to each schoolwork item
This commit is contained in:
parent
3bed5e7210
commit
258e7a5a6c
@ -292,7 +292,7 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class NB
|
static class NB
|
||||||
{
|
{
|
||||||
|
|
||||||
public static string BroadcastMACString = "FF:FF:FF:FF:FF:FF"; //The broadcast MAC address
|
public static string BroadcastMACString = "FF:FF:FF:FF:FF:FF"; //The broadcast MAC address
|
||||||
@ -877,5 +877,25 @@ namespace EduNetworkBuilder
|
|||||||
return randomizedList;
|
return randomizedList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<TreeNode> GetAllNodes(this TreeView _self)
|
||||||
|
{
|
||||||
|
List<TreeNode> result = new List<TreeNode>();
|
||||||
|
foreach (TreeNode child in _self.Nodes)
|
||||||
|
{
|
||||||
|
result.AddRange(child.GetAllNodes());
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
public static List<TreeNode> GetAllNodes(this TreeNode _self)
|
||||||
|
{
|
||||||
|
List<TreeNode> result = new List<TreeNode>();
|
||||||
|
result.Add(_self);
|
||||||
|
foreach (TreeNode child in _self.Nodes)
|
||||||
|
{
|
||||||
|
result.AddRange(child.GetAllNodes());
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,7 @@ namespace EduNetworkBuilder
|
|||||||
public int MainWindowWidth = -1;
|
public int MainWindowWidth = -1;
|
||||||
public int MainWindowHeight = -1;
|
public int MainWindowHeight = -1;
|
||||||
public string ProcessingLevel = "none";
|
public string ProcessingLevel = "none";
|
||||||
|
protected UInt32 NextID = 100;
|
||||||
|
|
||||||
public NBSettings()
|
public NBSettings()
|
||||||
{
|
{
|
||||||
@ -140,6 +141,11 @@ namespace EduNetworkBuilder
|
|||||||
Save(NB.IsRunningOnMono());
|
Save(NB.IsRunningOnMono());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UInt64 IssueID()
|
||||||
|
{
|
||||||
|
//return the id and increment it.
|
||||||
|
return NextID++;
|
||||||
|
}
|
||||||
public void Save(bool UsingMono)
|
public void Save(bool UsingMono)
|
||||||
{
|
{
|
||||||
if(UsingMono)
|
if(UsingMono)
|
||||||
|
@ -124,9 +124,29 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
if (CurrentUser == null) return CurrentUser;
|
if (CurrentUser == null) return CurrentUser;
|
||||||
BuilderWindow BW = NB.GetBuilderWin();
|
BuilderWindow BW = NB.GetBuilderWin();
|
||||||
SchoolworkClass NewWork = new SchoolworkClass(ToAdd);
|
SchoolworkClass NewWork = new SchoolworkClass(ToAdd, CurrentUser);
|
||||||
CurrentUser.Projects.Add(NewWork);
|
CurrentUser.Projects.Add(NewWork);
|
||||||
UpdateFormFromUser(); //make sure we list the right homeworks.
|
UpdateFormFromUser(); //make sure we list the right homeworks.
|
||||||
|
|
||||||
|
|
||||||
|
ChangeTreeDataTab(TreeDataTab.homeworktab);
|
||||||
|
tvClasswork.ExpandAll();
|
||||||
|
tvClasswork.Update();
|
||||||
|
|
||||||
|
//Now we want to select the item.
|
||||||
|
foreach(TreeNode TN in tvClasswork.GetAllNodes())
|
||||||
|
{
|
||||||
|
TN.ExpandAll(); //Expand everything until we get to what we need.
|
||||||
|
if(TN.Tag is SchoolworkClass)
|
||||||
|
{
|
||||||
|
SchoolworkClass Check = (SchoolworkClass)TN.Tag;
|
||||||
|
if(Check == NewWork)
|
||||||
|
{
|
||||||
|
tvClasswork.SelectedNode = TN;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (BW != null)
|
if (BW != null)
|
||||||
{
|
{
|
||||||
@ -296,6 +316,7 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
if (ViewedSchoolwork.DueDate < dtpHWDue.MinDate) ViewedSchoolwork.DueDate = dtpHWDue.MinDate;
|
if (ViewedSchoolwork.DueDate < dtpHWDue.MinDate) ViewedSchoolwork.DueDate = dtpHWDue.MinDate;
|
||||||
dtpHWDue.Value = ViewedSchoolwork.DueDate;
|
dtpHWDue.Value = ViewedSchoolwork.DueDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -36,14 +36,17 @@ namespace EduNetworkBuilder
|
|||||||
|
|
||||||
public bool IsSumbitted = false; //Is the student submitting this? If so, date-stamp it and lock it.
|
public bool IsSumbitted = false; //Is the student submitting this? If so, date-stamp it and lock it.
|
||||||
public DateTime SaveDate; //The date this file was saved.
|
public DateTime SaveDate; //The date this file was saved.
|
||||||
|
public UInt64 ThisID { get; protected set; }
|
||||||
|
|
||||||
public SchoolworkClass(XmlNode TheNode)
|
public SchoolworkClass(XmlNode TheNode)
|
||||||
{
|
{
|
||||||
Load(TheNode);
|
Load(TheNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SchoolworkClass(Network ToAdd)
|
public SchoolworkClass(Network ToAdd, PersonClass WhoFor)
|
||||||
{
|
{
|
||||||
|
if(WhoFor != null && WhoFor.UserSettings != null)
|
||||||
|
ThisID = WhoFor.UserSettings.IssueID();
|
||||||
theProject = ToAdd.Clone();
|
theProject = ToAdd.Clone();
|
||||||
Name = theProject.PuzzleName;
|
Name = theProject.PuzzleName;
|
||||||
Description = theProject.PuzzleName;
|
Description = theProject.PuzzleName;
|
||||||
@ -72,6 +75,11 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
switch (Individual.Name.ToLower())
|
switch (Individual.Name.ToLower())
|
||||||
{
|
{
|
||||||
|
case "id":
|
||||||
|
UInt64 tID;
|
||||||
|
UInt64.TryParse(Individual.InnerText, out tID);
|
||||||
|
ThisID = tID;
|
||||||
|
break;
|
||||||
case "name":
|
case "name":
|
||||||
Name = Individual.InnerText;
|
Name = Individual.InnerText;
|
||||||
break;
|
break;
|
||||||
@ -114,6 +122,7 @@ namespace EduNetworkBuilder
|
|||||||
//save the number of items
|
//save the number of items
|
||||||
//Save all the items
|
//Save all the items
|
||||||
writer.WriteStartElement("schoolwork");
|
writer.WriteStartElement("schoolwork");
|
||||||
|
writer.WriteElementString("ID", ThisID.ToString());
|
||||||
writer.WriteElementString("Name", Name);
|
writer.WriteElementString("Name", Name);
|
||||||
writer.WriteElementString("Description", Description);
|
writer.WriteElementString("Description", Description);
|
||||||
writer.WriteElementString("Class", Class);
|
writer.WriteElementString("Class", Class);
|
||||||
|
Loading…
Reference in New Issue
Block a user