Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Grafická knihovna wxWidgets Bc. Vojtěch Kusý 128PGC3 - Počítačová grafika a CAD ČVUT v Praze, Fakulta stavební.

Podobné prezentace


Prezentace na téma: "Grafická knihovna wxWidgets Bc. Vojtěch Kusý 128PGC3 - Počítačová grafika a CAD ČVUT v Praze, Fakulta stavební."— Transkript prezentace:

1 Grafická knihovna wxWidgets Bc. Vojtěch Kusý 128PGC3 - Počítačová grafika a CAD ČVUT v Praze, Fakulta stavební

2 Základní charakteristika „Windows and X widgets“, dříve známý jako wxWindows) free software/open source multiplatformní widget toolkit = knihovna základních elementů pro tvorbu grafického uživatelského rozhraní (GUI) + něco navíc

3 Stručná historie wxWidgets (tehdy ještě jako wxWindows) se vyvájejí již od roku 1992 projekt založil Julian Smart, během svého působení na University of Edinburgh Julian Smart se dodnes podílí na vývoji jádra 20. února 2004 změněn název z wxWindows na wxWidgets, jako výsledek tlaku Microsoftu (ochranná známka Windows® ve VB)

4 Podporované platformy wxWidgets je multiplatformní: MS Windows Linux Unix, BSD Mac OS X PalmPC/Pocket PC OpenVMS OS/2.

5 Podporované jazyky - „Bindings“ C++ implicitně wxAda xBasic wxD wxErlang wxEuphoria wxHaskell wxJava jwx! (také Java) wxJavaScript wxLua wxMax wxNet wxPerl wxPike wxPython wxRuby wxSqueak

6 Nejen multiplatformní GUI... wxWidgets aplikace musí být schopné běhu na různých platformách a to se netýká pouze GUI wxWidgets poskytuje i třídy pro práci se soubory s proudy více vlákny nastavením aplikace pro komunikaci mezi procesy přístup k databázi a mnoho dalšího...

7 Proč? J. Smart hledal GUI knihovnu která by splňovala následující... 1.crossplatform 2.nízká cena 3.mít k dispozici zdrojový kód 4.snadné programování 5.podpora široké škály kompilátorů a i když existovalo několik komerčních knihoven, žádné se nepodařilo splnit všechna kriteria...

8 Proč použít wxWidgets? 1/2 Je primárně multiplatformní aplikaci lze přeložit pro různé platformy s žádnými nebo jen minimálními změnami v kódu aplikace je nezávislá na platformě, kód lze kdykoliv přenést na jinou platformu pokud nabídne lepší podporu pro naši aplikaci nemusíme se učit používat různé grafické knihovny na různých platformách

9 Proč použít wxWidgets? 2/2 Poskytuje nativní vzhled a chování na dané platformě lepší pro uživatele aplikace je nezávislá na platformě, kód lze kdykoliv přenést na jinou platformu pokud nabídne lepší podporu pro naši aplikaci nemusíme se učit používat různé grafické knihovny na různých platformách

10 Zdrojový kód a licence licence je další výhodou této knihovny L-GPL s dovětkem, tj knihovnu lze použít bez omezení pro free software i pro komerční software otevřený zdrojový kód zdarma

11 Architektura wxWidgets

12 Přehled tříd 1/3 Managed windows Miscellaneous windows Common dialogs Controls Miscellaneous pickers Menus wxAUI - advanced user interface Window layout Device contexts Graphics device interface Events Validators Data structures Run-time class information system

13 Přehled tříd 2/3 Logging features Debugging features Networking classes Interprocess communication Document/view framework Printing framework Drag and drop and clipboard classes File related classes Stream classes Threading classes HTML classes Rich text classes Virtual file system classes

14 Přehled tříd 3/3 XML classes XML-based resource system classes Online help Database classes Miscellaneous

15 wxCode: když nám wxW. nestačí

16 Sestavení od verze 2.5 může být wxWidgets sestavena jako - soubor jednotlivých knihoven, tzv. multilib build - jako jediná knihovna, tzv. monolithic build

17 Návrh

18 Výsledek

19 RAD pro wxWidgets Boa Constructor (Python) wxGlade wxFormBuilder Code::Blocks (via wxSmith plugin) nebo integrace s wxFB CodeLite (vygeneruje wxW. projekt) wxDev-C++ podporu wxWidgets lze doinstalovat i do MS VS

20 wxFormBuilder

21 na základě navrženého rozhraní vygeneruje odpovídající kód uložení formátech C++ (.cpp soubory) nebo XRC (XML dokument) multiplatformní: Windows (2000, XP, and Vista) Linux MacOSX (Mac Universal (PPC/x86)) web: http://wxformbuilder.orghttp://wxformbuilder.org

22 Aplikace ve wxWidgets BitTorrent FileZilla (open source FTP solution) TortoiseCVS (CVS GUI) Audacity (free cross-platform sound editor) Code::Blocks (open source C++ IDE Chandler (note organizer) RapidSVN (Subversion GUI) wxDownload Fast...

23 Symlab: Windows

24 Symlab: Linux

25 poEdit

26 Audacity: Windows

27 Audacity: Linux

28 Audacity: Mac

29 Kniha o wxWidgets zdarma Cross-Platform GUI Programming with wxWidgets autoři: Julian Smart, Kevin Hock, Stefan Csomor počet stran: 744 (!) velmi dobře napsané, pokryté kompletní API včetně příkladů a popsání rozdílů mezi platformami ke stažení např. z knihovny Root.cz http://knihy.root.cz http://knihy.root.cz

30 Český překlad knihy český dobrovolnický překlad knihy formou „wiki“ na stránkách http://www.wxwidgets.hustej.nethttp://www.wxwidgets.hustej.net zatím přeloženo jen necelá stovka z 800 stránek

31 Zdroje http://www.wxwidgets.org/docs/ http://en.wikipedia.org/wiki/WxWidgets http://cs.wikipedia.org/wiki/WxWidgets kniha (e-book) Cross-Platform GUI Programming with wxWidgets


Stáhnout ppt "Grafická knihovna wxWidgets Bc. Vojtěch Kusý 128PGC3 - Počítačová grafika a CAD ČVUT v Praze, Fakulta stavební."

Podobné prezentace


Reklamy Google