Witam,

Pracuję nad aplikacją do edycji i zapisu plików XML, opieram się na C# i edytorze GUI dostarczonym w GTK#.
Jeśli chodzi o warstwę logiki wygląda to tak:
Wygenerowałem plik .cs na podstawie schema xsd, w oparciu o klasę tworze obiekt który jest serializowany do pliku XML oraz na który deserialziowany jest plik XML.
Zasadniczo opcja dynamicznego generowania interfejsu na podstawie schemy bo jest to aplikacja przeznaczona do edycji jedynie jednego pliku XML i nastawiona jest na maksymalną czytelność dla osoby nie znającej składni XML ani nie będącej programista.

Zastanawiam się teraz jakich elementów interfejsu użyć do zbudowania aplikacji. Okno podzieliłem Vboxem na dwa, do górnego wrzuciłem menu bar, na dole znajdą się wszystkie dane.
Dane to lista "pól" niektóre pola przyjmują dowolne wartości, niektóre jedną z kilku (enum) bądź też prowadzą do rozwinięcia podkategorii z kilkoma kolejnymi polami. Chciał bym żeby graficznie wyglądało to jak pionowa lista ze scroll barem z prawej oraz możliwością otwierania mniejszych pod list w przypadku gdy jakieś pole prowadzi do kilku pod pól.

Jakich elementów proponujcie użyć (scroll bar to oczywiste :P) do pól tekstowych, do etykiet po kliknięciu w które otworzy się pod lista i zasadniczo jak stworzyć to w postaci listy?

PS: Zasadniczo to chce przedstawić to w drzewiastej strukturze :P

Dziękuję za wszelką pomoc.