- Kod: Zaznacz cały
/\Parent (index 0)
- Child (index 1)
- Child (index 2)
- Child (index 3)
/\Parent (index 4)
- Child (index 5)
- Child (index 6)
przy czym bazowe indexy mamy 2 (index 0 i index 4 - rodzice), tj. powinno wyglądać to tak
- Kod: Zaznacz cały
/\Parent (index 0)
- Child (index 0)
- Child (index 1)
- Child (index 2)
/\Parent (index 1)
- Child (index 0)
- Child (index 1)
Takie rozwiązanie chyba najlepiej wymagałoby użycia nowego typu obiektu (rodzic) oraz obiektów (dzieci) do nich przypisanych.
Ale to do czego sam doszedłem.
Problem mam z pobieranie i przydzielaniem indeksów, mieszają się i wychodzą bzdury. Jako pierwsze rozwiązanie dałem sobie dodatkową zmienną typu List ( klasa System::Collections::Generic), której każdy kolejny element odpowiadał indeksowi rodzica, oraz przechowywał wartość z funkcji GetHashCode() by potem odróżnić, które elementy należą do rodziców, a które do dzieci ( funkcja GetHashCode() zwracana unikatową wartość int). Jak wspomniałem, lista jest zwijana, czyli OnClick na rodzica to wszystkie dzieci powinny się schować (remove). Siłą rzeczy trzeba było tworzyć kopie wszystkich elementów, by można było je potem skądś przywrócić. I tu sobie odpuściłem, bo zacząłem wątpić w słuszność tego rozwiązania, zwłaszcza, że kod zaczął się dziwnie rozrastać, a problem wydaje się w sumie prosty.
To co robiłem miało jakiś sens ? Jak w ogóle rozwiązuje się takie problemy ? Przydałoby mi się rozwiązanie, jak coś takiego się pisze, bo po prostu nie mam pomysłu i marnuje czas na kod, który i tak potem nie ma sensu :/