xime: Właściwości okienek
• tech • 259 słów • 2 minuty czytania
Ta notatka jest częścią serii xime. Zapoznaj się z pozostałymi wpisami.
Dawno nic nie pisałem, a przyrzekłem sobie kiedyś, żeby nie zaśmiecać zbytnio technicznymi wpisami tego projektowego dziennika. Choć na samym początku, jednym z celów powstania tego bloga, obok przedstawiania i tworzenia na bieżąco historii projektu, było także ukazywanie różnych ciekawych sztuczek jakie zastosowałem w kodzie lub po prostu przedstawienie problemów na jakie trafiłem, licząc że ktoś będzie w stanie pomóc ;)
Zatem unikając czysto technicznych bzdur, ostatnio udało mi się zaimplementować bardzo prosty mechanizm pozwalający na zapisywanie i odczytywanie stanu poszczególnych okienek. Głównie chodzi tutaj o pozycje i rozmiar okna oraz tym podobne właściwości, co jest czymś wręcz naturalnym w większości aplikacji…
Od jakiegoś czasu wxWidgets posiada do tego celu dedykowany mechanizm, zwie się on “Persistent Objects”. Niestety zdecydowałem się z niego nie korzystać. Z najistotniejszych powodów tej decyzji było niezbyt wygodne użycie (jak dla mnie) oraz miejsce przechowywania informacji (u nas muszą lądować w XML-u konfiguracji danego profilu).
W xime wygląda to dużo prościej. Kiedyś wspominałem trochę o wnętrznościach i o systemie budowania okien w programie. Teraz wystarczy jako jeden z parametrów szablonu podać wartość boolowską, aby odpowiednio otrzymać okienko z obsługą opisywanego tutaj mechanizmu.
Przy włączonej obsłudze, zaraz po utworzeniu obiektu okna, wołana jest metoda LoadProperties
, która przywraca stan okna jaki został zapisany przez SaveProperties
tuż przed jego zniszczeniem. Obie te metody są wirtualne, dzięki czemu można dostarczyć własnych implementacji odczytu i zapisu, aby osiągnąć niestandardowe właściwości w różnych okienkach i dialogach. Domyślne implementacje zapisują pozycję i rozmiar okna oraz jego stan max/minimalizacji.
Proste i łatwe…
BTW Nie tak dawno minęła 1 rocznica od powstania projektu ;)
Komentarze (0)