Konfiguracja GUI z XMLa
Niskopriorytetowy bajer ułatwiający pracę. Można by stworzyć XML opisujący strukturę okien GUI, która (na podstawie nazw) byłaby używana przy tworzeniu GUI (metody CreateXXX) by ustawiać domyślne parametry.
Leave a comment
on 2009-11-14 09:37 *
By rAum
Assigned to set to rAum
Status changed from New to Accepted
Assigned to set to rAum
Status changed from New to Accepted
Raczej mechanizm konieczny, bez niego mechanizm lokalizacyjny może stracić sens bo wszystko będzie się rozjeżdżało, a i ciągla rekompilacja jest meczaca...
Proponuję następujący mechanizm:
- jest sobie plik, nie wiem, GUI.xml, z korzeniem <root>
- ten <root> odpowiada węzowi CRoot z kodu
- posiada on dzieci - <node name="..."> oznacza węzel dla dziecka o danej nazwie
- wszystkie węzly posiadaja wpisy o parametrach - <width-percent>...</width-percent> i tak dalej
- te parametry są przypisywane obiektowi tworzonemu w metodach CGuiObject::CreateX (np. każda podklasa CGuiObject implementuje wirtualną metodę Configure biorącą węzęl xml)
- tak wczytane parametry są defaultowe; potem mogą być w kodzie przeciążane (np. może być potrzeba dynamicznego ustalania pozycji - tak jest generowane CAbilityTree)
Oczywiscie, to tylko mój pomysl - tak myslalem o tym, gdy tworzylem ticket. Uznalem, ze za malo to opisalem, wiec wklejam powyzszy opis - ale jak masz ochote to zrobic inaczej, albo jesli sie okaze ze powyzszy pomysl nie dziala, to jak zwykle - wolna reka :)
- jest sobie plik, nie wiem, GUI.xml, z korzeniem <root>
- ten <root> odpowiada węzowi CRoot z kodu
- posiada on dzieci - <node name="..."> oznacza węzel dla dziecka o danej nazwie
- wszystkie węzly posiadaja wpisy o parametrach - <width-percent>...</width-percent> i tak dalej
- te parametry są przypisywane obiektowi tworzonemu w metodach CGuiObject::CreateX (np. każda podklasa CGuiObject implementuje wirtualną metodę Configure biorącą węzęl xml)
- tak wczytane parametry są defaultowe; potem mogą być w kodzie przeciążane (np. może być potrzeba dynamicznego ustalania pozycji - tak jest generowane CAbilityTree)
Oczywiscie, to tylko mój pomysl - tak myslalem o tym, gdy tworzylem ticket. Uznalem, ze za malo to opisalem, wiec wklejam powyzszy opis - ale jak masz ochote to zrobic inaczej, albo jesli sie okaze ze powyzszy pomysl nie dziala, to jak zwykle - wolna reka :)
on 2010-09-05 22:51 *
By cixot
Status changed from New to Invalid
Status changed from New to Invalid
Updating tickets (#368, #370, #420, #529, #570, #578, #592, #609, #610, #613, #619, #627, #629, #636, #637, #663, #664, #699, #710, #732, #734, #738, #742, #744, #747, #411, #616, #634, #638, #661, #668, #697, #698, #719, #735, #168, #282, #340, #355, #365, #371, #383, #561, #642, #665, #700)
wontfix
wontfix