1 / 69

PODPORA IMPLEMENTÁCIE ROZHRANÍ

PODPORA IMPLEMENTÁCIE ROZHRANÍ. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ. 3.1 ÚVOD DO GRAFICKÝCH SYSTÉMOV Programovacie nástroje pre interaktívne systémy poskytujú prostredky pre účinnú transformáciu abstraktného návrhu a princípov použiteľnosti do vykonávateľnej formy.

dakota
Download Presentation

PODPORA IMPLEMENTÁCIE ROZHRANÍ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PODPORA IMPLEMENTÁCIE ROZHRANÍ MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  2. 3.1 ÚVOD DO GRAFICKÝCH SYSTÉMOV Programovacie nástroje pre interaktívne systémy poskytujú prostredky pre účinnú transformáciu abstraktného návrhu a princípov použiteľnosti do vykonávateľnej formy. Tieto nástroje poskytujú programátorovi rôzne úrovne služieb. Hlavným prúdom interakcie človek- počítač v súčasnosti sú grafické rozhrania - GUI (Graphical User Interface) a oknové systémy WIMP. Umožňujú, že jedna pracovná stanica (workstation - napríklad PC) podporuje oddelené používateľské a systémové vlákna akcií, ktoré pracujú súbežne (simultaneously). MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  3. Interaktívne nástroje abstrahujú od fyzikálneho oddelenia vstupných a výstupných zariadení a dovoľujú programátorovi popísať chovanie objektov na podobnej úrovni ako ich vníma používateľ. Manažérske systémy pre používateľské rozhrania (niekedy sa používa výraz generátory rozhraní - interface generators) sú konečnou úrovňou nástrojov podporujúcich programovanie, dovoľujúc návrhárovi a programátorovi riadiť vzťah medzi prezentáciou objektov nástroja s ich funkcionálnou sémantikou v skutočnej aplikácii. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  4. Grafické urýchľovače sú súčasťou grafických kariet - graphic a geometry engines alebo GPU (Geometry Processing Unit). To čo sa nazýva hardvérová podpora sú vlastne multiprocesorové komplikované systémy s rozsiahlym softvérom, ktorý ale môže využívať len pokročilý používateľ. Pred pár rokmi ešte drahé grafické stanice so základným softvérom, dnes grafická karta za pár tisíc korún s rovnakým výkonom. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  5. Grafické rozhranie zariadení (Graphic Device Interface - GDI) Je vrstva, ktorá je rozhraním medzi API a hardvérom. Pôvodne boli GDI prostredníkom medzi elementárnymi funkciami grafického zariadenia, ktoré dokázalo niekoľko funkcií napríklad nakresliť čiaru a API kde sú funkcie ako lomená čiara s určitou hrúbkou a farbou. API využíva funkcie GDI. GDI na vstupe je univerzálne a na výstupe spolupracuje s riadiacim programom zariadenia. Ale s vývojom grafických kariet sa presunulo mnoho funkcií API na programové vybavenie grafickej karty. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  6. Príklad použitia GDI v jazyku C. • // dátová štruktúra pre device context - smerník na pamäť obrazu • HDC hdc; • // získanie kontextu zariadenia • hdc = GetDC(hWnd); • // dátové štruktúry pre nový štetec a pôvodný štetec • HBRUSH hBrush, hOldBrush; • // vytvorenie nového štetca zelenej farby • hBrush = CreateSolidBrush(RGB(0, 255, 0)); • // použitie nového štetca, pôvodný si zapamätáme pre neskoršie obnovenie • hOldBrush = (HBRUSH) SelectObject(hdc, hBrush); • // zobrazí obdĺžnik 100 x 200, ľavý horný roh bude mať súradnice x=10, y=5 • Rectangle(hdc, 10, 5, 100, 200); • // obnovenie pôvodného štetca • SelectObject(hdc, hOldBrush); • // zrušenie nového štetca • DeleteObject(hBrush); • // uvoľníme device context • ReleaseDC(hWnd, hdc); MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  7. Obrázok vytvorený predchádzajúcim kódom MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  8. GDI+ • GDI+ je nová generácia rozhrania GDI prvýkrát použitá vo Windows XP. • Vylepšenia v oblasti výkonu a kvality. Podporuje odstránenie rastrovania, farebný gradient, alfa kanál, miešanie 2D a 3D grafiky, animácií a videa ako aj tlač. • Podporuje formáty JPEG a PNG a je na rozdiel od GDI úplne objektovo-orientované a naprogramované v jazyku C++. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  9. API - aplikačné programové rozhranie: Je to rozhranie medzi aplikáciou a grafickým systémom počítača. Grafické programy GKS (Graphical Kernel System) - norma ISO, PHIGS (Programmed Hierarchical graphics System) - ISO, ANSI norma - v súčasnosti sa už nepoužívajú. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  10. 2D API Cairo – multi-platformová knižnica poskytujúca C rozhranie pre zobrazovanie2D objektov na rôzne výstupné média – okná rôznych oknových systémov, obrazové súbory, PDF, PostScript. OpenVG – API pre vektorovú grafiku v jazyku C od konzorcia Khronos. Podporuje použitie akcelerátorov. Prvé implementácie pre mobilné zariadenia ale aj PC. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  11. 3D API • OpenGL – priemyselný štandard pre 3D ale aj 2D grafiku. Pochádza z dielne Silicon Graphics Inc. Je implementované v každom rozšírenom operačnom systéme (Windows, X11, Mac OS X). Akcelerácia je podporovaná cez ovládače grafického hardvéru. O ich implementáciu sa starajú výrobcovia. • Direct3D – štandardná 3D knižnica operačného systému Windows. Poskytuje akcelerované zobrazenie 3D objektov a správu grafického hardvéru. • Ich výrobcovia dodávajú implementáciu vo svojich ovládačoch. Aj napriek platformovým obmedzeniam je Direct3D najpoužívanejším API pre vývojárov hier. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  12. Príklady „2D“ grafických prvkov v OpenGl (tieto útvary môžu byť neplanárne, to je vrcholy sú v priestore a nemusia ležať v jednej rovine) MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  13. Oknové API • Xlib – obaluje X11 Window System protokol do C funkcií a typov. Zabezpečuje interakciu medzi X serverom a aplikáciou čím umožňuje programátorovi vytvárať okná a manipulovať s nimi. Je to rozhranie najnižšej úrovne, pre prácu s X-Windows sa používajú iné oknové knižnice, ktoré Xlib obalujú. Je dielom konzorcia univerzít a firiem originálne pre OS UNIX ale neskoršie aj pre DOS. • Win32 – základná knižnica s C rozhraním operačného systému Windows. Jej časť zaoberajúca sa používateľským rozhraním poskytuje možnosti vytvárania okien, ich ovládanie a sprostredkúvanie interakcie medzi systémom a používateľom • Qt – robustná multi-platformová oknová knižníca. Obaľuje natívne oknové systémy rôznych platforiem (Windows, X11, Mac OS X, embedded zariadenia) a poskytuje jednotné C++ a Java programové rozhranie MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  14. Prácu s WIMPS podporujú aj značkovacie jazyky (HTML) a skriptovacie jazyky (JavaScript) ako aj autorské systémy pre tvorbu interaktívnych mulimediálnych aplikácií (Macromedia Director, Authorware a Flash). Opis GUI ako sú User Interface Markup Language (UIML) alebo XML User Interface Language (XUL). API - aplikačné programové rozhranie: MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  15. 3.2 PARADIGMY PROGRAMOVANIA INTERAKCIE Interaktívne programy sú riadené používateľom (user driven), to znamená, že aplikácia sa určí keď používateľ urobí nejakú vstupnú akciu (napríklad pohne myšou). Poznáme dva spôsoby ich programovania - paradigma slučky čítania a vyhodnotenia (Read evaluation loop) - paradigma oznamovania (Notificationbased). MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  16. Paradigma slučky čítania a vyhodnotenia (Read evaluation loop) Táto paradigma klient - server pracuje nasledovne. Server posiela vstupy používateľa ako štrukturované udalosti klientskej aplikácii. Čo sa týka servera, jediný dôraz udalosti je klient ktorému sa musí poslať. Klientská aplikácia je naprogramovaná aby čítala akúkoľvek udalosť ktorá jej dôjde a zistenie všetkých aplikáčne špecifických správaní sa ktoré, sú dôsledkom tejto udalosti. Pseudokód slučky načítania a vyhodnotenia je nasledovný: MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  17. repeat read-event(MojaUdalost) case MojaUdalost.typ typ_1: do spracovanie typ_1 typ_2: do spracovanie typ_2 …………………………….. typ_n: do spracovanie typ_n end case end repeat MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  18. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  19. Paradigma oznamovania (Notificationbased) Hlavná riadiaca slučka nie je súčasťou aplikácie. Namiesto toho prijíma udalosti od oknového systému centralizovaný oznamovateľ – notifier (listener, caller, event handler), ktoré filtruje aplikačnému programu, spôsobom ako to program deklaruje. Aplikačný program informuje oznamovateľa (registruje), o ktoré udalosti má záujem a pre ktoré deklaruje jednu vlastnú procedúru ako spätné volanie (callback) predtým ako dá riadenie oznamovateľovi. Callback funkcia je taká, ktorá sa posiela inému programu ako argument. Vďaka tomu môže program pracujúci na nižšej úrovni volať funkcie definovane vo vyšších úrovniach. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  20. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  21. repeat read-event(MojaUdalost) case MojaUdalost.typ typ_1: do spracovanie typ_1 typ_2: ---- if (chybova_podmienka) then repeat read-event(MojaUdalost2) case MojaUdalost2.typ typ_1: typ_2: …….. typ_n: end case until (end-condition2) endif ……. typ_n: do spracovanie typ_n end case until (end-condition) MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  22. Príklad použitia funkcií callback v knižnici GLUT • Cieľom GLUT(GL Utility Toolkit) je skrátiť čas pre začatie vývoja aplikácií v OpenGL a zároveň pomôcť pri jeho učení. • Programátor je odbremenený od platformovo závislého kódovania, ktorý zahrňuje komunikáciu s operačným systémom a prípadne správcom okien. Kód pre vytvorenie okien, nastavenie zobrazovacieho kontextu a spracovanie udalostí je pre každý operačný systém iný. • Nahrádza tieto volania sadou niekoľkých jednoduchých funkcií, ktoré vykonajú uvedené úlohy automaticky. Programátor sa tak sústredí priamo na špecifický kód OpenGL, čím sa podstatne zrýchľuje vývoj a testovanie aplikácií. • Odpadá aj preprogramovania pre inú platformu - jednoduchá portabilita. Príklad registrácie spracovanie udalostí v knižnici GLUT GLUT umožňuje aj spracovanie udalostí z klávesnice a myši. Udalosti sú spracované pomocou callback mechanizmu – zaregistruje sa funkcia ktorá bude zavolaná keď nastane daná udalosť. Uvedený je jednoduchý príklad, ktorý si pri stlačení ľavého tlačidla myši zapamätá pozíciu a nastaví príznak stlačenia tlačidla. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  23. GLUT umožňuje aj spracovanie udalostí z klávesnice a myši. Udalosti sa spracujú pomocou mechanizmu spracovania udalosti (callback, event handler, listener) – zaregistruje sa funkcia ktorá bude zavolaná keď nastane daná udalosť. GLUT ďalej umožňuje narábať s časovačmi, vytvárať a organizovať pop-up menu. Príklady registrácie spracovanie udalostí v knižnici GLUT. 1. Príklad zobrazí trojuholník. 2. Pri stlačení ľavého tlačidla myši zapamätá pozíciu a nastaví príznak stlačenia tlačidla. 3. Spracováva stlačenie kláves W, S, A a D, a následne podľa nich sa posúva v smere osí X a Y. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  24. #include <GL/glut.h> • void renderScene(void) { • glClear(GL_COLOR_BUFFER_BIT); • glBegin(GL_TRIANGLES); • glVertex3f(-0.5,-0.5,0.0); • glVertex3f(0.5,0.0,0.0); • glVertex3f(0.0,0.5,0.0); • glEnd(); • glFlush(); • } • void main(int argc, char **argv) { • glutInit(&argc, argv); • // režim zobrazenia – výpočet hĺbky, pravé farby a alfa blending • glutInitDisplayMode(GLUT_DEPTH | GLUT_RGBA);// nastaví umietnenie a veľkosť okna • glutInitWindowPosition(100,100); • glutInitWindowSize(320,320); • // vytvorí okno s titulkom • glutCreateWindow("OpenGL pomocou GLUT"); • // registruje callback funkciu pre zobrazenie scény • glutDisplayFunc(renderScene); • // zobrazí okno a spustí spracovanie udalostí • glutMainLoop(); • } MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  25. double mX, mY; int clicked; • // funkcia pre spracovanie udalostí myši • void mouseFunc(int button, int state, int x, int y) { • if (button == GLUT_LEFT_BUTTON) { • mX = x; • mY = y; • clicked = 1; • } • } • … vo funkcií main … • glutMouseFunc(mouseFunc); • double oX, oY; • // funkcia pre spracovaní udalostí z klávesnice • void keyFunc(unsigned char key, int x, int y) { • switch (key) { // key udáva ASCII hodnotu stlačeného znaku • case 'W': oY = oY + 1; break; • case 'S': oY = oY - 1; break; • case 'A': oX = oX - 1; break; • case 'D': oX = oX + 1; break; • } • } • … vo funkcií main … • glutKeyboardFunc(keyFunc); MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  26. GLUT zobrazí scénu len keď dostane od správcu okien operačného systému pokyn pre zobrazenie. • Pre trvalé opakovanie zobrazenia napríklad pri animácii alebo v systémoch virtuálnej reality je potrebné vždy po dokončení zobrazovania scény požiadať o opakovanie. • void renderScene(void) { • … • glutPostRedisplay(); // pošle požiadavku na opätovné zobrazenie • } MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  27. Ošetrovanie udalostí v jazyku Java • Ak chceme reagovať na vzniknutú udalosť, musíme implementovať rozhranie vhodného prijímača udalostí. • 1. Môže to byť samostatná trieda, ktorá bude implementovať dané rozhranie. • public class myKeyDemo extends JFrame implements KeyListener { • public void keyPressed( KeyEvent e ) { • //akcia, ktorá sa vykoná pri stlačení klávesy • } • public void keyReleased( KeyEvent e ) { • //akcia, ktorá sa vykoná po uvoľnení stlačenej klávesy • } • public void keyTyped( KeyEvent e ) { • //akcia, ktorá sa vykoná po stlačení klávesy MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  28. 2. Ale môže to byť aj vnorená trieda (inner class) JButton Button1=new JButton(“Button1”); Button1.addActionListener(new ActionListener(){ actionPerformed(ActionEvent e){ //reakcia na udalosť, ktorá sa vykoná po stlačení tlačidla }}); MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  29. NÁSTROJE PODPORUJÚCE TVORBU WIMPS WIMPS - Windows Icons, Menu, Pointing deviceS Úloha oknových systémov je poskytnúť nezávislosť od špecifík programovania rôznych hardvérových zariadení a manažment viacerých, nezávislých ale súčasne bežiacich aktívnych aplikácií. Vlastnosťou a cieľom programových knižníc pre tvorbu rozhraní je: • Nezávislosť používateľského rozhrania (oddeľuje návrh rozhrania od návrhu aplikácie, umožňuje viac stratégií návrh UI, podporuje viacplatformové aplikácie, vytvára pozíciu architekta UI, vynucuje si používanie noriem). • Metodológia a notácia (vývoj návrhárskych procedúr, nájdenie spôsobu ako hovoriť o dizajne, vytvorenie riadenia projektu). MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  30. Rýchle prototypovanie - rapid prototyping (rýchle overenie nápadov, iterovanie - cyklus testovanie a úprava návrhu, zaangažovanie konečných používateľov, manažérov a zákazníkov). • Softvérová podpora (zvyšuje produktivitu, poskytuje testy obmedzení interakcie a jej konzistencie, uľahčuje tímovú prácu, uľahčuje údržbu softvéru a tým sa zvyšuje celková kvalita GUI). • Programové knižnice pre tvorbu rozhraní s oknovými systémami môžme deliť napríklad deliť na štyri softvérové vrstvy: • Oknové systémy, Nástroje pre GUI, Aplikačné rámce a špecializované jazyky a Aplikácie. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  31. 1. Oknové systémy(Windowing systems). • Príkladom sú Xwindows (X11 Windowing system), Microsoft Win32/GDI+, Apple Quarz. Táto vrstva je vhodná pre prezentáciu a interakciu s aplikáciou, veľmi dobre komunikuje s inými subsystémami, čas vytvorenia rozhrania aplikácie je dlhý a je veľmi náročná na naučenie sa. Možnosti rozširovania a modularita sú zlé. Tu sa používa programovanie s čítacou a vyhodnocovacou slučkou. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  32. Architektúra klient - server MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  33. Systém X-Windows (X11) MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  34. Programovanie na tejto úrovni je trochu náročné, napríklad to čo sa dá urobiť na pár riadkoch špecializovaného jazyka Tcl /Tk sa musí popísať 237 riadkami na úrovni Xlib (XWindows). • main() { • InitializeSystem(); • SetinitialState(); • DisplayInitializeGraphics(); • while(true) { • Event event = readNextEvent(); • Switch(event.type) { • Case UDALOST1: udalost1(); break; • Case UDALOST2: udalost2(); break; • …………………………………… • deafult: doDefault(event); break; • } • } MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  35. 2. Nástroje pre GUI (GUI Toolkits) Nástroje uľahčujúce programovanie pomocou preddefinovaných objektov (widgets, gadgets) a ich chovania sa. Tieto objekty sú usporiadané do tried s možnosťami tvorby inštancií objektov a ich hierarchického dedenia vlastností. Trieda má preddefinované (defaultné) vlastnosti (attributes) ale niektoré sa dajú meniť. Príkladom sú OSF Motif, Microsoft Visual Studio a .NET (Basic, C++, C#), Eclipse, Borland JBuilder , Sun NetBeans (Java s balíkmi AWT (Abstract Windowing Tool) a SWING). Táto vrstva je vhodná pre prezentáciu, dobre komunikuje s inými subsystémami, čas vytvorenia rozhrania je dlhý a je náročná na naučenie sa. Možnosť rozširovania a modularita je vcelku dobrá. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  36. Hierrarchia tried XView MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  37. Hierrarchia tried Java AWT MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  38. Hierrarchia kontainerov Java SWING MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  39. Príklad kontainera Jdialog v triede Java SWING MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  40. Hierarchia tried udalostí v Java AWR a SWING MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  41. Správca rozloženia komponentov v Java SWING Border, Flow, Grid, GridBag, Box Layout MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  42. IDE (Integrated Design Environment) - HLAVNÉ ČRTY Vytváranie programov je spojené s rôznymi činnosťami - editovanie a preklad zdrojového kódu, tvorba používateľského rozhrania, testovanie programu. IDE poskytuje automatizáciu týchto činností. Mejú nasle´dovné vlastnosti: Manažment projektov a súborov Programy pozostávajú z viacerých súborov, ktoré sú uložené v hierarchickej adresárovej štruktúre. Na evidovanie týchto súborov IDE poskytuje vytvoranie projektu. Šablóny aplikácií Niektoré aplikácie musia mať istú štruktúru (napr. MFC aplikácie, DLL knižnice). IDE poskytuje niekoľko takých šablónov. Pomocou dialógových okien sa dá veľmi rýchlo vytvoriť kostru programu a programátor sa môže hneď sústrediť iba na samotný problém. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  43. Editovanie zdrojového kódu IDE obsahuje textový editor pre prácu s viac súbormi s=ubežne, ktorý zvýrazňuje kľúčové slová, označí dvojice zátvoriek, zobrazí v ktorej funcii alebo triede je práve kurzor. Pokročilejšie IDE ponúkajú aj automatické doplnenie kódu s alternatívami a so správnou syntaxou. Preklad, ladenie a test programov IDE ponúka vykonanie rôznych krokov prekladu pomocou klávesových skratiek alebo položky menu. Umožňuje navigáciu pri hľadaní chybových hlásení. Integrovaný ladiaci prostriedok umožňuje krokovanie programu (debugging). Podpora tímových projektov Niektoré IDE podporujú súčasnú prácu viacerých členov tímu. Komunikujú so systémami pre manažment verzií. Vytvárajú vlastne jednoduché rozhranie medzi programátorom a systémom. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  44. Tvorba používateľských rozhraní Je už súčasťou skoro každého IDE - GUI builder, GUI editor. Ponúka WYSIWYG editor. Rozhranie sa tvorí vložením jednotlivých komponentov metódou pretiahni a pusti. Editor eviduje mená, pozície a rôzne iné parametre komponentov. Výsledok - tvary, farba a umiestnenie komponent je okamžite viditeľný a tým slúži ku komunikácii medzi programátorom a používateľom - aj keďhoci softvér je v tejto etape nefunkčný. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  45. Príklad GUI editora IDE Delphi 7 MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  46. Príklad IDE - MS Visual Basic MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  47. Príklad IDE - Sun Netbeans MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  48. Príklad IDE - Sun Netbeans Umiestnenie nového komponentu (Label) s pomocou vodiacich čiar (modré čiarkované) MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  49. Hlavné časti editorov IDE Pracovná plocha • Na pracovnej ploche sa vytvoria a zrušia dialógové okná a komponenty v dialógových oknách. Editor umožňuje posúvanie komponentov a zmenu ich rozmerov. • Paleta nástrojov • Paleta nástrojov ponúka sadu komponentov, ktoré programátor môže umiestniťv okne ako aj nástroje na rozloženie komponentov (layout manager). • Okno vlastností • Každé dialógové okno a každý komponent má svoje charakteristické atribúty. Tlačidlo má rozmery, pozíciu, farbu a obsahuje text. V okne vlastností sa prezerajú a menia vlastnosti zvoleného objektu. • Prehľadávač objektov • Prehľadávač objektov umožňuje navigovať medzi objektami, ktoré sú zoradené v hierarchickej stromovej štruktúre. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

  50. Iné vlastnosti IDE (niektoré) • Zjednodušená práca pri tvorbe formuláru s databázovými prvkami • Ak potrebujeme vytvoriť formulár, ktorý má pracovať s dátami z databázy. • Automatická tvorba UML diagramov a dokumentácie • UML diagramy a dokumentácia sa generuje zo zdrojových kódov každej triedy. Dokumentáciu je možné prezerať priamo v prostredí. • Tvorba zálohy • Pri tvorbe rozhraní sa vytvárajú automaticky zálohy súboru, s ktorým pracujeme - možnosť vrátiť sa k predchádzajúcim verzii súboru. MARTIN ŠPERKA: INTERAKCIA ČLOVEK – POČÍTAČ

More Related