Slovník | Vyhledávání | Mapa webu
 
Analýza a modelování dynamických biologických datÚvod do matematického modelování Využití Maple v matematickém modelování Paleta Components

Logo Matematická biologie

Paleta Components

Obrázek 3.27: Paleta Components

PALETA Componets (obr. 3.27) umožňuje vložit komponenty (ovládací prvky anglicky widget) grafického rozhraní do zápisníku nebo dokumentu Maple, které umožňují jejich základní komunikaci mezi sebou a interakci s uživatelem, tj. zadávat či měnit s jejich využitím například parametry v příkazech Maple. Každá komponenta je v PALETĚ vizuálně ztvárněna ikonou a slouží pro různou manipulaci s daty v zápisníku. Například, pomocí komponenty Slider mohou být nastaveny hodnoty proměnných v zápisníku, které využijí ostatní komponenty. Komponenty provádí akce a zobrazují informace určené jejich konstrukčními nebo jinými vlastnostmi. V paletě Components (obr. 3.27) jsou následující komponenty: Button, Toogle Button, Combo Box, Check Box, Radio Button, Text Area, Label, List Box, Slider, Rotary Gauge, Volume Gauge, Meter, Dial, Plot, Math Expression, Shortcut, Data Table, Video Player.

K předávání informací (dat i kódu programu) mezi komponentami slouží speciální příkazy uvedené v balíku DocumentTools, umožňující uložení a získání informací z jiných komponent v zápisníku. Zejména příkaz Do z tohoto balíku poskytuje snadný způsob, jak specifikovat operace pro tyto komponenty.

Chcete-li umístit zvolenou komponentu do zápisníku Maple, otevřete PALETU Components a přetáhnete její ikonu (například Button, Slider, Math Expression, Plot) na požadované místo v zápisníku.

Více komponent na jednom řádku v zápisníku lze oddělit buď mezerou mezi nimi, nebo je umístit na samostatné řádky v zápisníku stisknutím klávesy Enter. Přesnější rozložení komponent v zápisníku může být dosaženo vložením tabulky z HLAVNÍHO MENU (Insert - > Table s vybráním počtů řádků a sloupců z vyskočeného pomocného menu) a vložením daných komponent do požadovaného místa v tabulce. V takto vytvořené tabulce mohou být umístěny libovolně vybrané komponenty.

Komponenty je třeba nakonfigurovat dříve, než se použijí. Konfigurováním komponenty se určí, jednak jak komponenta vypadá (např. název komponenty Button, velikost grafické oblasti pro komponentu Plot apod.), a jednak jak funguje (např. stanovení rozsahu hodnot, které komponenta podporuje, nebo úprava programu v komponentě, který se spouští kliknutím na ni).

Chceme-li nakonfigurovat komponentu, např. Button, kterou už máme v poli DOKUMENT v zápisníku, klepne se na ni pravým tlačítkem myši. Vyskočí okno „pop-up“, obr. 3.28, ze kterého se dají vyvolat další okna Component Properties… a Edit Click Action…, viz obr. 3.29, umožňující nakonfigurovat vlastnosti komponenty Button a naprogramovat akce, které se provedou.

Obrázek 3.28: Paleta okna „pop-up“ u komponenty Button

Obrázek 3.29: Okna Components Properties… a Edit Click Action… u komponenty Button

Po dokončení konfigurace vlastností komponenty Button v okně Components Properties… (do pole Name se zadá název, do pole Caption název tlačítka a zaškrtnou se volby Options) se obsah okna uloží klepnutím na tlačítko „OK“. Každá komponenta má nastavitelný název, (na obr. 3.29 je uveden název Button0), který slouží ke komunikaci a sdílení dat mezi jednotlivými komponentami s využitím balíku Document Tools.

Okno Edit Click Action…. editoru programového kódu slouží k zapsání příkazů akcí, které se mají provést při kliknutí na komponentu Button. Má předefinovaný obsah pro využití příkazů balíku Document Tools (obr. 3.29). Tento druh programování akcí komponent budeme diskutovat v následující části.

Komponenty lze konfigurovat následujícím způsobem:

  1. Uživatel na komponentu v zápisníku klikne a může do ní psát (např. v komponentách Math Expression, Text apod.) nebo táhnout ve vstupním poli myší (např. v komponentách Plot, ). To způsobuje změnu jejího stav, případně spuštění programu nastaveného dříve, když komponenta již byla konfigurována.
  2. Komponenty spouští program určující, jaké akce se mají provést, když se změní její stav. Při psaní programu v okně editoru kódu je dovoleno jak běžné programování v Maple (např. běžné příkazy, ale i příkazy if, for atd.), tak speciální programování akcí, které se v komponentě provádí pomocí příkazu Do z balíku DocumentTools. Obvykle program v komponentě obsahuje jeden nebo více řádků ve formuláři příkazu Do(%widgetName = výraz); kde výraz může obsahovat také názvy komponent, které bere z pole Name, viz obr. 3.29. Proměnné, funkce ve výrazech v okně otevřeného Edit Click Action…. , které nezačínají symbolem %, se berou jako standardní příkazy Maple. Jména na pravých stranách výrazů jsou obvykle vstupní komponenty a hodnoty, které jsou použity ve výrazu k výpočtu výsledku, který se zobrazí ve výstupu komponenty, která má název widgetName a který je uveden na levé straně výrazu.

V dalším stručně popíšeme vlastnosti nejvíce používaných komponent:

Komponenta Button definuje tlačítko v zápisníku nebo dokumentu Maple, které po kliknutí provede akci nebo posloupnost akcí, v nichž komunikuje s jinými komponentami, jejichž názvy jsou komponentě Button uvedeny. Nakonfiguruje se tak, že se na ni umístí kurzor myši a kliknutím pravým tlačítkem se vyvolá „pop-up“ okno (obr. 3.28) a z něj položky Components Properties… a Edit Click Action…. Komponenta Button může například zobrazit popisek nebo vytvořit graf či vypočítat řešení rovnice.

Komponenta Combo Box definuje pole se seznamem, ze kterého lze vybírat jeho položky, které pak mohou sdílet ostatní komponenty. Tj. provede akci nebo série akcí, které mají komunikovat s jinými komponentami, když se vybere položka ze seznamu Combo Box. Nakonfigurujeme ji tak, že klepneme pravým tlačítkem myši na Combo Box a z vyskočeného „pop-up“ okna vyberte volbu Component Properties…, (obr. 3.30) ze které otevřeme dialogové okno editoru pro Item List, kde zadáme položky seznamu, které chceme vybírat v této komponentě.

Chceme-li provést akci, když je vybrána položka ze seznamu v Combo Box, tak ji naprogramujeme s využitím Edit Click Action…, (podobně jako v obr. 3.29) kterou se otevře dialogové okno editoru kódu pro Combo Box, kam se zadají příkazy, které se mají s vybranou položkou ze seznamu provést.

Obrázek 3.30: Okno Components Properties… komponety Combo Box

Komponenta Slider definuje hodnotu jezdce v posuvníku v zápisníku nebo dokumentu Maple. Tato komponenta provede akci nebo série akcí, kde komunikuje s jinými komponentami, když se mění poloha jezdce na posuvníku. Chceme-li provést akci, když se změní poloha jezdce na posuvníku, nakonfigurujeme ji tak, že z vyvolaného „pop-up“ okna vybereme položku Edit Value Changed Action…, která otevřete dialogové okno editor kódu pro Slider, kam se zadají příkazy, které chcete provést při spuštění této komponenty podobně jako u komponent Button a Combo Box. Rozdílná od těchto komponent je položka Component Properties…., viz obr. 3.31, kterou se otevře konfigurační okno, kde lze nastavit název komponenty, její dolní a horní rozsah hodnot, pozici jezdce, značky na ose a dále zatrhnout příslušnou volbu Options. Konfigurační okno se uloží stisknutím „OK“ tlačítka.

Obrázek 3.31: Okno Components Properties… komponety Slider

Popisy voleb v Options, které můžeme zatrhnout, lze získat z HLAVNÍHO MENU (Help > Maple Help) nebo stiskem kláves Ctrl a F1 a zapsáním textu „Slider Component“ ve vyhledávacím poli nápovědy, která příslušné informace zobrazí, viz obr. 3.10.

Komponenta Text Area definuje textovou oblast v zápisníku nebo dokumentu Maple. Tato komponenta provede akci nebo posloupnost akcí, kde komunikuje s jinými komponentami, při změně obsahu v textové oblasti. Chceme-li ji nakonfigurovat, tak otevřeme vyskakovací „pop-up“ okno, kde se vybere položka Component Properties…, která je podobná jako u Combo Box a otevře se okno editoru textu Edit u položky Content, kam se zapíše příslušný text. Chceme-li, aby se provedly ještě další akce, tak se vybere položka Edit Content Changed Action…, kterou se otevře dialogové okno editoru kódu pro Text Area, kam se zadají příkazy, které se mají provést spuštěním této komponenty.

Komponenta Plot definuje oblast grafu v zápisníku nebo dokumentu Maple. Tato komponenta provede akci nebo série akcí, které mohou komunikovat s dalšími komponentami, když se klikne nebo táhne grafem. Chceme-li ji nakonfigurovat, tak na ni klineme a z vyskakovacího „pop-up“ okna viz obr. 3.32, lze otevřít okno Component Properties… a dále okna:

  • Edit Click Action…, kde můžeme zapsat pomocí editoru kódu příkazy akce, která se provede, když se myši klepne na komponentu Plot;
  • Edit Drag End Action, kde můžeme zapsat příkazy akce, která se provede při uvolnění myši z tažení v komponentě Plot;
  • Edit Dragged Action, kde můžeme zapsat příkazy akce, která se provede při tažení myši v komponentě Plot.

Poznámka: Tyto akce se uskuteční pouze pokud kliknete na ikonu  (Execute click and drag code) v KONTEXTOVÉ LIŠTĚ v režimu Plot, viz obr. 3.5.

Obrázek 3.32: Vyskakovací „pop-up“ okno komponenty Plot

V okně Component Properties… je možné zvolit název komponenty Plot, zadat do pole Plot Expression příkaz Maple pro animaci grafu, např.

plot3d(x^2*cos(y),x=-1..1,y=-2*Pi..2*Pi);

dále šířku a výšku grafu v pixelech v zápisníku a zpoždění při animaci v milisekundách a zaškrtnout volby Options, které lze nalézt v nápovědě.

Obrázek 3.33: Okno Component Properties… komponenty Plot

Příklad 3.1.

Vytvořte graf funkce sin(k ∙ x), kde k, x ϵ <0, 10> a jeho barvu bude možno volit mezi červenou (red), modrou (blue) a zelenou (green).

Návrh řešení:

Komponentu Button použijeme na spuštění ostatních komponent, pro měnící se hodnoty parametru k vybereme komponentu Slider, pro výběr barvy komponentu ComboBox a pro zobrazení grafu komponentu Plot. Hodnoty parametru k z komponenty Slider zobrazíme pomocí komponenty Text Area.

Postup řešení:

  1. V zápisníku vytvoříme tabulku z HLAVNÍHO MENU (Insert > Table) s jedním řádkem a dvěma sloupci. Do prvního sloupce z PALETY Components přetáhneme na samostatné řádky postupně komponenty Button, Slider, Text Area a Combo Box a do druhého sloupce přetáhneme komponentu Plot. Před komponentu Text Area přidáme vlevo popisný text „Hodnota k“ a před komponentu Combo Box text „Barva“. To lze provést jiným způsobem tak, že by se k zadání textu do tabulky u jakékoli komponenty umístil kurzor, za kterým se chce zadávat text, který by se zadal pomocí HLAVNÍHO MENU (Insert-> Text) nebo po stisknutí kláves Ctrl a T.
  2. Klepnutím pravým tlačítkem myši na komponentu Slider, otevřeme vyskakovací „pop up“ okno a zvolíme Component Properties…, která otevře konfigurační okno viz obr. 3.34, kde nastavíme název SliderK, dolní (0) a horní (10) hodnoty pro k, vzdálenost značek na posuvníku, šířku a výšku posuvníku v pixelech. Dále zatrhneme příslušné volby Options, jak je znázorněno na obr. 3.34 a uzavřeme konfigurační okno stisknutím „OK“ tlačítka.

Obrázek 3.34: Nastavení Slider

  1. Klepnutím pravým tlačítkem myši na komponentu Text Area otevřeme vyskakovací „pop up“ okno a zvolíme Component Properties…, která otevře konfigurační okno, viz obr. 3.35, kde nastavíme její název kText, počet viditelných znaků (10) a řádků (1) a zaškrtneme zvolené volby Options. Pomocí editace Contents lze nastavit později vlastnost, umožňující z komponenty Slider přebírat a zobrazit hodnotu k. Hodnoty nastavené v komponentě Text Area se uloží kliknutím na „OK“.
  2. Klepnutím pravým tlačítkem myši na komponentu Combo Box otevřeme vyskakovací „pop up“ okno a zvolíme Component Properties…, která otevře konfigurační okno, viz obr. 3.30, kde nastavíme její název colorBox a pomocí editoru zavedeme seznam barev „red“, „green“ a „blue“, viz obr. 3.36, který se uloží kliknutím na „OK“.

Obrázek 3.35: Nastavení Text Area

Obrázek 3.36: Nastavení seznamu v Combo Box

  1. Komponenta Plot se nastaví pomocí Component Properties, aby její jméno bylo Graf_sin(kx), podobně jako na obr. 3.33 je název Plot0.
  2. Nyní naprogramujeme komponenty Slider a Button tak, že budou sdílet data s komponentami Text Area a Plot. Klepneme pravým tlačítkem myši na komponentu Slider a z vyskočeného „pop-up“ okna menu vybereme položku Edit Value Changed Action, kterou se vyvolá okno editoru kódu komponenty Slider. Do kódu přidáme speciální příkaz Do( %kText=%SliderK), viz obr. 3.37, před příkaz end use;. Tento příkaz vloží aktuální hodnotu jezdce posuvníku do komponenty Text Area.

Obrázek 3.37: Úprava kódu programu komponenty Slider

Většina z kódu, který se zobrazí v programu na obr. 3.37, jsou komentáře, které vysvětlují užití příkazů Do( %component_name ); a Do( %component_name = value ); a jejich činnost.

  1. Podobným způsobem naprogramujeme tlačítko Button, kde místo příkazu Do( %kText=%SliderK), vložíme příkaz:

Do( %Graf_sin)=plot(sin(%SliderK * x),x=0..10, color=%colorBox) );

Který v komponentě Plot vykreslí graf funkce sin(k ∙ x), kde hodnota k se bere z komponenty Slider (její jméno je SliderK), x ϵ <0, 10> a jeho barvu se volí pomocí komponenty Combo Box (její jméno je colorBox), kde je definován seznam barev, viz obr. 3.36.

  1. Nyní lze pracovat se všemi komponentami. Vyberte hodnotu k, vyberte barvu a pak klikněte na tlačítko Button a zobrazí se Vám graf funkce sin(k ∙ x) v intervalu <0,10>, k=4, viz obr. 3.38.

Obrázek 3.38: Dynamické interaktivní vykreslení grafu funkce sin(k ∙ x).

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity