· Minulá kapitola · Obsah · Další kapitola


Systém služeb

Systém tzv. služeb ("Services") zajišťuje spolupráci mezi aplikacemi na datovém základě -- aplikace, které zpracovávají stejná data, mohou prostřednictvím služeb spolupracovat.

Jedná se vlastně o promyšlené a šikovné rozšíření standardního systému copy/paste: představte si, že máte k dispozici aplikaci, která snímá data z obrazovky. Pak je samozřejmé, že do ní můžete kdykoli přepnout, sejmout požadovaný snímek, uložit jej do schránky, přepnout zpět do aplikace, ve které snímek potřebujete, a získat jej příkazem Paste. To je samozřejmě standardní postup; je ale zbytečně nepohodlný, a systém Services umožňuje jeho výrazné zjednodušení:

Umožňuje-li tedy například aplikace Mail odeslání textu elektronickou poštou, budeme mít její nabídku k dispozici kdykoli budeme zpracovávat text: v Editu, v DTP programu, nebo třeba ve Workspace Manageru při přejmenovávání souboru. Aplikace Grab dokáže snímat data z obrazovky a nabízet je ve formátu TIFF; pracujeme-li s libovolnou aplikací která dokáže přijmout formát TIFF, můžeme si z ní prostřednictvím aplikace Grab vyžádat sejmutí obrazovky. Aplikace, která službu nabízí, nemusí běžet -- Mac OS ji automaticky spustí je-li to zapotřebí.

Podívejme se zběžně na služby, které nabízejí standardní aplikace, jež si nainstalujeme současně s Mac OS:

Grab

O aplikaci Grab jsme se vlastně zmínili před malou chvilkou: jejím úkolem je snímat obsah obrazovky, a menu služeb, jež nabízí, vypadá takto:

Grab Service menu

Význam voleb "Screen" a "Selection" je zřejmý; podobně "Window", zde ovšem není automaticky sejmut obsah aktivního okna, ale aplikace Grab umožní uživateli vybrat kterékoli okno na obrazovce (samozřejmě bez ohledu na to, je-li celé viditelné nebo ne), a sejmout jeho obsah. Konečně volba "Timed Screen" snímá celou obrazovku, ale až po uplynutí desetisekundové "samospoušti" -- to nám umožní snímat i dynamické akce, které trvají např. jen po dobu, kdy držíme stisknuté tlačítko myši.

Práce s aplikací Grab prostřednictvím systému služeb je nesmírně pohodlná: v libovolné aplikaci, jež dokáže pracovat s grafikou (třeba ve standardním textovém editoru) prostě otevřeme menu "Services" a z podmenu "Grab" zvolíme požadovanou službu. Aplikace Grab se aktivuje nebo spustí, sejme požadovanou část obrazovky, a předá ji aplikaci, ze které jsme službu zavolali: ta se sama ihned zase aktivuje a umožní nám další práci, již s obrázkem vloženým na místě kursoru. Ze všech praktických hledisek se tedy systém chová tak, jako by sama aplikace TextEdit uměla snímat obrazovku...

MailViewer

Služby aplikace MailViewer ukazují jiný příklad variability systému Services: na rozdíl od aplikace Grab samy žádná data nenabízejí, naopak dodaná data zpracovávají. V případě aplikace MailViewer jsou dodaná data text (včetně případného formátování); služby vidíme na obrázku:

MailViewerServiceMenu

Služby jsou k dispozici kdykoli je v kterékoli aplikaci nějaký označený text; může to být stejně dobře označený název souboru ve Workspace Manageru, jako text v TextEditu nebo třeba popis obrázku v grafickém editoru. Obě služby připraví novou zprávu pro odeslání elektronickou poštou; prvá z nich převezme označený text (včetně případného formátování a vložených objektů) do těla zprávy; druhá jej použije jako adresu. Následující obrázek ilustruje první případ, tj. odeslání označeného textu z aplikace TextEdit:

ServiceExample

Stickies

Aplikaci Stickies asi všichni znáte -- jedná se o jednoduchou pomocnou aplikaci, která simuluje nálepky s poznámkami na monitoru. I ona nabízí službu, která zpracovává textová data včetně formátování: zvolíme-li z menu Services službu "Make Sticky", okamžitě a automaticky se vytvoří nová "nálepka", obsahující označený text:

StrickiesServiceExample

OmniWeb

Ačkoli aplikace OmniWeb není de facto součástí Mac OS, je standardně instalována při jeho instalaci. Jedná se o špičkový WWW browser, který všem ostatním aplikacím nabízí službu:

OmniWebService

V libovolné aplikaci tedy můžeme označit URL a vyžádat si prostřednictvím této služby aby OmniWeb otevřel odpovídající WWW stránku.

Workspace Manager

Sám Workspace Manager nabízí dvě služby, které se sice využívají poměrně zřídka, ale kdykoli pracujeme se seznamy souborů mohou ušetřit spoustu práce:

WorkspaceManagerServices

Obě opět pracují nad označeným textem; obě jej interpretují jako jméno souboru. Prvá z nich tento soubor otevře přesně stejným způsobem, jako bychom jej našli v okně Workspace Manageru a poklepali na jeho ikonu; druhá jen otevře okno Workspace Manageru zobrazující odpovídající složku, a požadovaný soubor v něm označí.

TextEdit

Poslední skupina standardních služeb, kterou si ukážeme, jsou služby systémového editoru TextEdit. Ty jsou jak názvem, tak funkcí trochu podobné službám Workspace Manageru:

TextEditServices

Prvá z nich skutečně odpovídá velmi přesně službě "Open in Workspace": opět interpretuje označený text jako jméno souboru a ten otevře; tentokrát se však přípona souboru ignoruje, a soubor se vždy otevře v TextEditu. Služba "Open Selection" pak v TextEditu vytvoří nový bezejmenný dokument, obsahující právě text, označený v aplikaci, v níž jsme službu vyvolali.

Ostatní

Seznam všech služeb které jsou k dispozici Mac OS vytváří při startu systému; prohledává přitom složky, které jsme popsali v odstavci "aplikace" (a pro speciální služby také složky ".../Services"). Máme-li tedy aplikace v jiných složkách, budeme je sice moci bez problémů spouštět, ale jejich služby nebudou k dispozici.

Naopak, každá další aplikace, instalovaná do standardních složek, dále rozšiřuje nabídku Services: interprety skriptů (JavaScript, TCL) např. umožňují přímo provést označený text; OCR aplikace dokáží přijmout obrázek a namísto něj vrátit text, který obrázek obsahoval. Systém služeb je prakticky neomezený a neustále se rozšiřuje o služby, nabízené dalšími aplikacemi.

· Minulá kapitola · Obsah · Další kapitola


Copyright © OCSoftware, 2000; all right reserved