Rozšíření Aplikace Wxformbuilder
Total Page:16
File Type:pdf, Size:1020Kb
Rozšíření aplikace wxFormBuilder Extension of wxFormBuilder Bc. Jiří Růčka Diplomová práce 2010 UTB ve Zlín ě, Fakulta aplikované informatiky, 2010 4 ABSTRAKT Cílem této diplomové práce je rozší řit aplikaci wxFormBilder o komponenty wxMediaCtrl, wxBitmapComboBox a kompletní podporu pro wxAUI. V první části práce jsou nejprve popsány základní vlastnosti softwarové knihovny wxWidgets a je popsáno a porovnáno několik hlavních aplikací pro návrh grafického rozhraní aplikací za použití knihovny wxWidgets. V záv ěru teoretické části je popsána vnit řní struktura aplikace wxWidgets. Druhá část se zabývá vlastním p řidáváním komponent. Nejprve je obecn ě popsán postup při p řidávání nových komponent a potom konkrétní komponenty, které byly p řidány. Klí čová slova: wxFormBuilder, wxWidgets, C++, Python, XML, open-source ABSTRACT The aim of this thesis is to add wxMediaCtrl, wxBitmapComboBox components and add full support for wxAUI to wxFormBuilder. In the first part, there is a description of software library wxWidgets, its basic features and several wxWidgets GUI designers are introduced and compared. In the end of theoretical part inernal structure of wxFormBuilder is described. The second part deals with adding components itself. First, the general process of adding component is described and then contrete components, which were added. Keywords: wxFormBuilder, wxWidgets, C++, Python, XML, open-source UTB ve Zlín ě, Fakulta aplikované informatiky, 2010 5 Cht ěl bych velmi pod ěkovat vedoucímu diplomové práce Ing. Michalu Bliž ňákovi, PhD. za cenné rady, čas a trp ělivost p ři konzultacích. „Tajemství úsp ěchu v život ě není d ělat, co se nám líbí, ale nalézt zalíbení v tom, co děláme.“ Edison Thomas Alva UTB ve Zlín ě, Fakulta aplikované informatiky, 2010 6 Prohlašuji, že • beru na v ědomí, že odevzdáním diplomové/bakalá řské práce souhlasím se zve řejn ěním své práce podle zákona č. 111/1998 Sb. o vysokých školách a o zm ěně a dopln ění dalších zákon ů (zákon o vysokých školách), ve zn ění pozd ějších právních p ředpis ů, bez ohledu na výsledek obhajoby; • beru na v ědomí, že diplomová/bakalá řská práce bude uložena v elektronické podob ě v univerzitním informa čním systému dostupná k prezen čnímu nahlédnutí, že jeden výtisk diplomové/bakalá řské práce bude uložen v příru ční knihovn ě Fakulty aplikované informatiky Univerzity Tomáše Bati ve Zlín ě a jeden výtisk bude uložen u vedoucího práce; • byl/a jsem seznámen/a s tím, že na moji diplomovou/bakalá řskou práci se pln ě vztahuje zákon č. 121/2000 Sb. o právu autorském, o právech souvisejících s právem autorským a o zm ěně n ěkterých zákon ů (autorský zákon) ve zn ění pozd ějších právních předpis ů, zejm. § 35 odst. 3; • beru na v ědomí, že podle § 60 odst. 1 autorského zákona má UTB ve Zlín ě právo na uzav ření licen ční smlouvy o užití školního díla v rozsahu § 12 odst. 4 autorského zákona; • beru na v ědomí, že podle § 60 odst. 2 a 3 autorského zákona mohu užít své dílo – diplomovou/bakalá řskou práci nebo poskytnout licenci k jejímu využití jen s předchozím písemným souhlasem Univerzity Tomáše Bati ve Zlín ě, která je oprávn ěna v takovém p řípad ě ode mne požadovat p řim ěř ený p řísp ěvek na úhradu náklad ů, které byly Univerzitou Tomáše Bati ve Zlín ě na vytvo ření díla vynaloženy (až do jejich skute čné výše); • beru na v ědomí, že pokud bylo k vypracování diplomové/bakalá řské práce využito softwaru poskytnutého Univerzitou Tomáše Bati ve Zlín ě nebo jinými subjekty pouze ke studijním a výzkumným ú čel ům (tedy pouze k nekomer čnímu využití), nelze výsledky diplomové/bakalá řské práce využít ke komer čním účel ům; • beru na v ědomí, že pokud je výstupem diplomové/bakalá řské práce jakýkoliv softwarový produkt, považují se za sou část práce rovn ěž i zdrojové kódy, pop ř. soubory, ze kterých se projekt skládá. Neodevzdání této sou části m ůže být d ůvodem k neobhájení práce. Prohlašuji, že jsem na diplomové práci pracoval samostatn ě a použitou literaturu jsem citoval. V případ ě publikace výsledk ů budu uveden jako spoluautor. že odevzdaná verze diplomové práce a verze elektronická nahraná do IS/STAG jsou totožné. Ve Zlín ě ……………………. podpis diplomanta UTB ve Zlín ě, Fakulta aplikované informatiky, 2010 7 OBSAH ÚVOD....................................................................................................................................9 I TEORETICKÁ ČÁST .............................................................................................10 1 SOFTWAROVÁ KNIHOVNA WXWIDGETS.....................................................11 1.1 HISTORIE ..............................................................................................................11 1.2 ZÁKLADNÍ VLASTNOSTI KNIHOVNY WX WIDGETS .................................................12 2 RAD APLIKACE .....................................................................................................13 2.1 WX FORM BUILDER ................................................................................................13 2.2 WX DEV -C++ ........................................................................................................14 2.3 WX SMITH .............................................................................................................16 2.4 WX GLADE ............................................................................................................17 2.5 WX DESIGNER .......................................................................................................18 2.6 DIALOG BLOCKS ...................................................................................................19 3 POROVNÁNÍ RAD/GUI NÁSTROJ Ů...................................................................21 3.1 OBECNÉ INFORMACE ............................................................................................21 3.2 PODPORA PROGRAMOVACÍCH JAZYK Ů..................................................................22 4 STRUKTURA WXFORMBUILDERU..................................................................24 4.1 DATOVÁ STRUKTURA WX FORM BUILDERU ............................................................27 4.2 VISUAL EDITOR ....................................................................................................28 4.3 PLUGINY ...............................................................................................................30 4.4 GENEROVÁNÍ KÓDU ..............................................................................................30 II PRAKTICKÁ ČÁST................................................................................................34 5 OBECNÝ POSTUP P ŘIDÁVÁNÍ NOVÉ KOMPONENTY ...............................35 5.1 ÚPRAVA XML SOUBORU ......................................................................................35 5.2 VLASTNÍ VYTVO ŘENÍ KOMPONENTY V DESIGNERU ...............................................36 5.3 VYGENEROVÁNÍ KÓDU .........................................................................................38 6 WXMEDIACTRL ....................................................................................................40 6.1 ZOBRAZENÍ KOMPONENTY V DESIGNERU ..............................................................41 6.2 VYGENEROVÁNÍ ZDROJOVÉHO KÓDU ...................................................................44 7 WXBITMAPCOMBOBOX.....................................................................................45 7.1 ZOBRAZENÍ KOMPONENTY V DESIGNERU ..............................................................46 7.2 VYGENEROVÁNÍ ZDROJOVÉHO KÓDU ...................................................................47 8 WXAUI......................................................................................................................49 UTB ve Zlín ě, Fakulta aplikované informatiky, 2010 8 8.1 IMPLEMENTACE T ŘÍDY WX AUI MANAGER DO DESIGNERU .....................................50 8.2 IMPLEMENTACE POZICE A VELIKOSTI PLOVOUCÍCH PANEL Ů..................................53 8.3 DALŠÍ NUTNÉ ÚPRAVY ..........................................................................................56 8.4 GENEROVÁNÍ KÓDU FRAMEWORKU WX AUI .........................................................58 9 WXAUITOOLBAR..................................................................................................60 9.1 ZOBRAZENÍ KOMPONENTY V DESIGNERU ..............................................................60 9.2 VYGENEROVÁNÍ ZDROJOVÉHO KÓDU ...................................................................61 ZÁV ĚR ...............................................................................................................................63 ZÁV ĚR V ANGLI ČTIN Ě.................................................................................................65 SEZNAM POUŽITÉ LITERATURY..............................................................................67 SEZNAM POUŽITÝCH SYMBOL Ů A ZKRATEK .....................................................68 SEZNAM OBRÁZK Ů .......................................................................................................69 SEZNAM TABULEK........................................................................................................70 SEZNAM P ŘÍLOH............................................................................................................71 UTB ve Zlín ě, Fakulta aplikované informatiky, 2010 9 ÚVOD S rozvojem výpo četní techniky souvisí i pot řeba stále nových a nových aplikací. Zákazníci požadují zhotovení aplikace v co nejkratším