Opis
Biblioteka wxWidgets jest potężnym, wieloplatformowym narzędziem, stworzonym do pisania aplikacji okienkowych, przeznaczonych dla wszystkich popularnych systemów operacyjnych. Jest wzbogacona o szereg narzędzi, umożliwiających realizację większości zadań i wymagań stawianych przed nowoczesnymi programami - w tym m.in. pełną obsługę współbieżności, obsługę protokołów sieciowych, czy też obsługę nowoczesnego OpenGL, choć to jedynie mała część jej możliwości. Co ważne, licencja wxWidgets pozwala na jej dowolne wykorzystanie w projektach każdego rodzaju, natomiast bogaty zestaw rozszerzeń znakomicie zwiększa zakres, w którym może być stosowana. Biblioteka wxWidgets jest wykorzystywana między innymi przez NASA do tworzenia oprogramowania pracującego z teleskopami kosmicznymi, a także przez koncern zbrojeniowy Lockheed Martin, czy też firmę AMD. Z jej pomocą stworzono szereg popularnych aplikacji, takich jak FileZilla, CodeLite, czy RapidSVN, a także wiele innych. Niniejsza książka to kompleksowy i wyjątkowy przewodnik po wxWidgets. To publikacja skierowana do wszystkich programistów C++ – także tych, którzy stawiają pierwsze kroki w świecie programowania GUI i programowania wieloplatformowego. Każdy kolejny rozdział wprowadza Czytelnika w coraz bardziej złożone i zaawansowane techniki wxWidgets, a zawarte w niej liczne przykłady kodu można uruchomić na większości popularnych platform systemowych. Możliwe będzie poznanie m.in. wyglądu struktury aplikacji wxWidgets oraz działanie i możliwość wykorzystania kluczowych typów wxWidgets takich jak wxString czy wxDateTime. Dzięki lekturze Czytelnik nauczy się: jak utworzyć pierwsze okno, wzbogacając je o pasek stanu i pasek menu oraz inne elementy i kontrolki GUI, pracować ze standardową i dynamiczną obsługą zdarzeń, pisać atrakcyjne programy, wykorzystywać standardowe okna dialogowe oraz pisać własne i kontrolować pozyskiwane przy ich pomocy dane wejściowe, pracować z plikami, czy formatem XML, przechowywać konfigurację programu, tworzyć aplikacje obsługujące różne języki, w jaki sposób napisać własny serwer oraz aplikację kliencką, stworzyć własnego klienta FTP, czy obsłużyć protokół HTTP, projektować oraz realizować własne kontrolki GUI, korzystać z innych zaawansowanych komponentów biblioteki, umożliwiających tworzenie nowoczesnych aplikacji komputerowych różnego typu. Spis treściOd autora XXVII Podziękowania XXVIII Wprowadzenie XXIX Zakres tematyczny książki XXIX Ważna uwaga o konstrukcji książki, czyli zanim kupisz XXIX Dla kogo jest ta książka? XXXI Konwencje przyjęte w książce XXXI Warsztat XXXIII MS Windows XXXIII Microsoft Visual C++ XXXIII Code::Blocks XXXIII Inne XXXIV PoEdit XXXIV GIMP XXXIV Materiały dodatkowe do książki XXXIV Errata i aktualizacje XXXIV Notka prawna XXXV Część I Poznajemy wxWidgets 3 1 1. Biblioteka 3 1.1. Czym jest wxWidgets? 3 1.2. Pobieranie i instalacja wxWidgets 4 1.2.1. Konwencje numerowania wersji biblioteki 5 1.2.2. Instalacja wxWidgets w systemach MS Windows 5 1.2.2.1. Zmienna systemowa WXWIN 5 1.2.3. Instalacja wxWidgets w systemach Ubuntu i Mint 6 1.2.3.1. Ręczna instalacja biblioteki z archiwum tar 6 1.2.3.2. Instalacja wxWidgets z pakietu Ubuntu/Debian 10 1.3. Foldery i pliki wxWidgets 11 1.4. Kompilacja wxWidgets 13 1.4.1. Plik setup.h i standardowe parametry kompilacji 13 1.4.1.1. Ustawienia globalne (global settings) 13 1.4.1.2. Ustawienia kompatybilności wersji (compatibility settings) 14 1.4.1.3. Ustawienia debugowania (debugging settings) 14 1.4.1.4. Wsparcie standardu Unicode (Unicode support) 14 1.4.1.5. Funkcje globalne (global features) 14 1.4.1.6. Współpraca z biblioteką standardową (Interoperability with the standard library) 15 1.4.1.7. Opcje niezwiązane z GUI (Non GUI features selection) 16 1.4.1.8. Kontrolki GUI (Individual GUI controls) 20 1.4.1.9. Różności GUI (Miscellaneous GUI Stuff) 23 1.4.1.10. Okna dialogowe (common dialogs) 24 1.4.1.11. Wsparcie metaplików (Metafiles support) 25 1.4.1.12. Duże kontrolki GUI (Big GUI controls) 26 1.4.1.13. Przetwarzanie danych (Data transfer) 26 1.4.1.14. Ustawienia różne (Miscellaneous settings) 27 1.4.1.15. Klasy wxDC (wxDC classes for various output formats) 27 1.4.1.16. Wsparcie dla formatów graficznych (image format support) 28 1.4.1.17. Inne opcje pliku setup.h 28 1.4.1.18. Opcje zależne od platformy 29 1.4.2. Kompilacja wxWidgets w systemach MS Windows 29 1.4.3. Kompilacja wxWidgets w systemach Ubuntu Linux i Mint Linux 29 1.5. Struktura biblioteki wxWidgets 29 1.6. Słowo o konwencjach i stylu kodowania w wxWidgets 30 1.6.1. Pliki 31 1.6.2. Konwencje nazewnicze 31 1.6.3. Styl kodowania 31 1.6.4. Jakość kodu 32 1.6.5. Ograniczenia C++ 32 1.6.6. Inne 33 2. Przygotowanie projektu 34 2.1. Visual C++ (MS Windows) 34 2.1.1. Utworzenie projektu 35 2.1.2. Konfiguracja projektu 36 2.1.2.1. Konfiguracja x86 (Win32) 37 2.1.2.2. Konfiguracja x64 43 2.1.3. Dodanie plików źródłowych 50 2.1.4. Zapisanie szablonu projektu 50 2.2. Code::Blocks (Ubuntu i Mint) 52 2.2.1. Utworzenie