Straßenliste verschönerung

Die Straßenliste im Ortsteilmodus wird geöffnet gelassen, wenn man die
Objektliste schließt
This commit is contained in:
HuskyTeufel
2021-04-15 14:26:50 +02:00
parent 9a58ecc3c2
commit bf076ad6c1

View File

@@ -20,6 +20,7 @@ namespace SanSystem
public partial class frmStrassenList : Form public partial class frmStrassenList : Form
{ {
StreetListSettings streetListSetting = new StreetListSettings(); StreetListSettings streetListSetting = new StreetListSettings();
string aktuallStreetName = string.Empty;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@@ -47,21 +48,36 @@ namespace SanSystem
private void buildSortedSteetList() private void buildSortedSteetList()
{ {
List<string> ortteile = Datenbank.Instance.loadedProjekt.Objekte.Select(x => x.OrtName).Distinct().ToList(); List<string> ortteile = Datenbank.Instance.loadedProjekt.Objekte.Select(x => x.OrtName).Distinct().ToList();
foreach(string ort in ortteile) int aktuellOpened = -1;
bool aktuelleStrasse = false;
foreach (string ort in ortteile)
{ {
List<string> strassen = Datenbank.Instance.loadedProjekt.Objekte.Where(y => y.OrtName.Equals(ort)).Select(x => x.StrasseName).Distinct().ToList(); List<string> strassen = Datenbank.Instance.loadedProjekt.Objekte.Where(y => y.OrtName.Equals(ort)).Select(x => x.StrasseName).Distinct().ToList();
TreeNode[] streetnodes = new TreeNode[strassen.Count]; TreeNode[] streetnodes = new TreeNode[strassen.Count];
for(int i = 0; i < strassen.Count; i++) for(int i = 0; i < strassen.Count; i++)
{ {
streetnodes[i] = new TreeNode(); streetnodes[i] = new TreeNode();
Tuple<int, int> x = getStatikFromStreet(strassen[i]); Tuple<int, int> x = getStatikFromStreet(strassen[i]);
streetnodes[i].Text = string.Format("{0} ({1} / {2})", strassen[i], x.Item1, x.Item2); streetnodes[i].Text = string.Format("{0} ({1} / {2})", strassen[i], x.Item1, x.Item2);
if (strassen[i].Equals(aktuallStreetName))
aktuelleStrasse = true;
streetnodes[i].Tag = strassen[i]; streetnodes[i].Tag = strassen[i];
} }
TreeNode node = new TreeNode(ort, streetnodes); TreeNode node = new TreeNode(ort, streetnodes);
trv_street.Nodes.Add(node); int looper = trv_street.Nodes.Add(node);
if(aktuelleStrasse)
{
aktuelleStrasse = false;
aktuellOpened = looper;
}
} }
if(aktuellOpened != -1)
{
trv_street.Nodes[aktuellOpened].ExpandAll();
}
} }
private Tuple<int,int> getStatikFromStreet(string strassename) private Tuple<int,int> getStatikFromStreet(string strassename)
@@ -151,7 +167,7 @@ namespace SanSystem
if ((sender as TreeView).SelectedNode == null) return; if ((sender as TreeView).SelectedNode == null) return;
string selectedStreetName = (string)(sender as TreeView).SelectedNode.Tag; string selectedStreetName = (string)(sender as TreeView).SelectedNode.Tag;
if (selectedStreetName.Equals("")) return; if (selectedStreetName.Equals("")) return;
aktuallStreetName = selectedStreetName;
frmObjekteList frmObjekteList = new frmObjekteList(selectedStreetName); frmObjekteList frmObjekteList = new frmObjekteList(selectedStreetName);
frmObjekteList.MdiParent = this.MdiParent; frmObjekteList.MdiParent = this.MdiParent;
frmObjekteList.FormClosed += FrmObjekt_FormClosed; frmObjekteList.FormClosed += FrmObjekt_FormClosed;