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

Slides:



Advertisements
Podobné prezentace
Historie operačních systémů – od jedniček a nul k woknům(Windows) a masoxu(Mac OS X) Vojtěch Klos.
Advertisements

Software start počítače a operační systém.
Typy programů operační systémy programy pro práci se soubory
SOFTWARE operační systémy
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Operační systémy Windows, Linux a Mac OS X Přehled vývoje
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
Tvorba webů pomocí Web CMS Michal Neuwirth Product Manager Kentico Software s.r.o. Ondřej Výšek Samostatný konzultant Optimalizovane-it.
Tvorba webových aplikací
Co je Linux? Základní pojmy
Štěpán Lískovec, 4.A.  =základní programové vybavení počítače (tj.software)  hlavní úkol:  A, zajistit uživateli možnost ovládat PC  B, vytvořit pro.
Vývoj aplikací pro SharePoint
Informatika I 7. a 8. hodina 4. týden. Operační systémy I Operační systém (dále také OS) je základní programové vybavení počítače (SW), které je zavedeno.
Historie operačních systémů Fiala Filip, 4.C. 50. léta Počítače bez OS Programy se psaly pro konkrétní počítače, často v binárním kódu Až ke konci 50.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Operační systémy.
Název a adresa školy Střední škola zemědělská a přírodovědná Rožnov pod Radhoštěm nábřeží Dukelských Hrdinů Rožnov pod Radhoštěm Název operačního.
Roman Valeš projekt AVT. Cíl práce Obeznámení s programovacím jazykem Java Práce s vývojovými nástroji Hierarchie kódu Androidu Vytvoření Android aplikace.
C# - Úvod Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
David Kratochvíl. * Linux – označení pro operační systém (OS) * 1,3 milionu mobilních zařízení s Androidem aktivováno každý den * Většina ze TV.
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
OPERAČNÍ SYSTÉMY Správa zdrojů Historie Funkce Ovládání počítače
GIMP GIMP je vlastně zkratkou názvu General / GNU(od roku 1997) Image Manipulation Program, což můžeme přeložit jako program na úpravu grafiky/obrázků.
Internetový prohlížeč
MAPGUIDE OPEN SOURCE - MAPOVÝ SERVER Student: Bc. Martin Soukup Předmět: GEIS Přednášející : R NDr. Tomáš Vaníček, P hD. Datum: Web:
Návrh a tvorba WWW Přednáška 13 Vývoj webových aplikací.
DIGITÁLNÍ UČEBNÍ MATERIÁL Číslo projektuCZ.1.07/1.5.00/ Název projektuEU peníze středním školám Masarykova OA Jičín Název školyMASARYKOVA OBCHODNÍ.
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Operační systémy.
Remote control and administration. Podle technického řešení Harware Software klient/server.
Aplikační programy, programovací jazyky, formáty datových souborů
ZÁKLADNÍ ROZDĚLENÍ SOFTWARE
Otevřené datové formáty a standardy
Distribuce Linuxu Petr Novák. Obsah Distribuce - typy a trendy Konkrétní systémy: – Pro začátečníky: Ubuntu Fedora OpenSuSE PCLinuxOS – Pro pokročilejší:
Zkušenosti s nasazením svobodného software při výuce
Windows 7 & Internet Explorer 8 vývoj aplikací a kompatibilita Štěpán Bechynský, Ondřej Štrba Developer Evangelists
Srovnání systémů řízení projektů Vypracovala: Jitka Procházková.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Operační systém a BIOS 8. ročník.
OPERAČNÍ SYSTÉMY.
RedDot Solutions ve státní správě a samosprávě Oxygen Solutions Petr Svoboda Petr Svoboda; Chief Information Officer; Oxygen Solutions, s.r.o.; GSM: 602.
PHP Programy pro tvorbu WWW stránek - 01
Operační systémy Windows, Linux a Mac OS X Přehled vývoje
Struktura operačních systémů
Textový editor Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Miloš Nygrýn.
Operační systém GNU Linux Příkazy pro práci se soubory.
Pavel Dušánek. ● 1999 – SUN kupuje StarDivision ● 2000 – otevření kódu StarOffice -> vznik projektu OpenOffice.org ● 2002 – OpenOffice.org 1.0 ● 2004.
Základy operačních systémů
Rezervační systém v prostředí XUL Zdeněk Novák, Petr Ondrejka.
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
PROGRAMY PRO ZPRACOVÁNÍ ZVUKU MARTIN BÁRTA. Obsah tématu  Rozdělení funkcí v nahrávacím řetězci  Nahrávání a editace  Postprodukce  Mastering  Software.
Grafika Kateřina Šebestová Grafika Druh výtvarného umění Více exponátů stále originály Vznik 6. století v Číně 868 první kniha 13. století tisk na plátno.
NÁZEV ŠKOLY:Základní škola a mateřská škola Bohdalov ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ ŠABLONA:III/2 TÉMATICKÁ OBLAST:Informační a komunikační technologie.
Prezentace Powerpoint 1 Prezentace vznikla v rámci projektu Škola 21. století, reg. číslo: CZ.1.07/1.3.06/ , který realizuje ZŠ a MŠ Lomnice nad.
WebOS – operační systém (nejen) pro mobilní přístroje Lukáš Jelínek AIKEN s.r.o. -
Bezdrátové senzorické sítě Operační systémy a vývojové prostředky Ing. David Široký Katedra informatiky a výpočetní techniky Fakulta aplikovaných.
ORSOFT RADNICE OPEN – ÚVODNÍ SEZNÁMENÍ Petra Hoffmanová.
EU peníze školám Registrační číslo projektu CZ.1.07/1.4.00/ Název projektu Inovace školství Šablona - název Inovace a zkvalitnění výuky prostřednictvím.
 MS-DOS (Microsoft Disk Operating System) je operační systém firmy Microsoft, který patří do rodiny mnoha podobných a kompatibilních DOS systémů pro.
Vývoj software pro Linuxové distribuce Installfest Praha,
Operační systém (OS) Základní funkce operačního systému: – Zajištění komunikace s okolím. – Řízení a zpracování programů. – Údržba informací na externích.
.NET framework platforma Jiří Pokorný
NetBeans Plugin.  Echo2 web framework (Ajax, Java)  NetBeans IDE (modularita, Swing designer)  Vizuální design uživatelského rozhraní (WYSIWYG)  Drag.
Operační systém Windows
Programování mikropočítačů Platforma Arduino
Vývoj mobilních aplikací a jejich výhody
Operační Systém Operační systém je v informatice základní programové vybavení počítače (tj. software), které je zavedeno do paměti počítače při jeho.
Vlastnosti souborů Jaroslava Černá.
hledat organizovat citovat
, Brno Jan Král Systém pro kontrolu uživatelské aktivity a jeho integrace do systému SMART fakulty.
Operační systémy.
Transkript prezentace:

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

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

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)

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

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

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...

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...

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

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

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

Architektura wxWidgets

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

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

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

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

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

Návrh

Výsledek

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

wxFormBuilder

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:

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...

Symlab: Windows

Symlab: Linux

poEdit

Audacity: Windows

Audacity: Linux

Audacity: Mac

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

Český překlad knihy český dobrovolnický překlad knihy formou „wiki“ na stránkách zatím přeloženo jen necelá stovka z 800 stránek

Zdroje kniha (e-book) Cross-Platform GUI Programming with wxWidgets