Устройство гаджета в Windows на примере создания простейшего гаджета рабочего стола

Гаджет состоит из двух файлов: gadget.xml и test.html. Первый файл — файл манифест, который включает в себя все настройки и информацию о гаджете, описанную на языке XML. Второй файл — файл в котором описывается внешний вид гаджета, его основная функциональность, а так же поведение при определенных действиях пользователя. Дополнительно у гаджета могут быть файл настроек, файлы картинок и еще какие либо файлы, но основными являются эти два файла. Языком описания внешнего вида является HTML, а отвечающим за реакцию гаджета на действия пользователя может быть любой скриптовый язык. Все файлы помещаются в zip архив с расширением .gadget [16].

Ниже приведен код файла gadget.xml для нашего гаджета, а на скриншоте окна гаджетов показано, где и какой из XML тегов показывается на панели гаджетов [3,11].

 

<?xml version="1.0" encoding="utf-8" ?>

<gadget>

<name>Testgadget</name>

<namespace>Zotov P.A.</namespace>

<version>1.0.</version>

<author name="Зотов П.А.">

<info url="http://contoso.com" text="Vist our Web site" />

<logo src="logo.png" />

</author>

<copyright>&#0169; 2013</copyright>

<description>my first gadget</description>

<icons>

<icon width="200" height="200" src="icon.png" />

</icons>

<hosts>

<host name="sidebar">

<base type="HTML" apiVersion="1.0.0" src="test.html" />

<permissions>full</permissions>

<platform minPlatformVersion="0.3" />

</host>

</hosts>

</gadget>

 

 

Рассмотрим каждый из элементов файла:

Элемент xml -обязательный. Определяет версию XML и кодировку символов, используемых в документе. Наш манифест соотоветствует спецификации XML 1.0 и использует кодировку UTF-8 (юникод).

Элемент gadget - обязательный. У элемента <gadget> нет атрибутов, но он включает в себя элементы потомков, которые и определяют сам гаджет.

Обязательные элементы:

Элемент <name> представляет собой название гаджета, видимое пользователю. Его расположение на панели гаджетов показано на скриншоте.

Элемент <version> определяет версию гаджета. Во время установки гаджета это значение используется для сравнения двух гаджетов с одинаковыми именами. Если версии различаются, то пользователю дается право выбора версии.

Элемент <hosts> является контейнером для одного или более элементов <host>. Элемент потомок: <host>- обязательный. Элемент <host> идентифицирует гаджет как приложение. Его элементы потомки определяют поведение гаджета как специфического приложения.

Атрибуты:

Name- обязательный. Необходимое значение – sidebar

Элементы потомки:

Элемент <base> говорит Sidebar какой тип файла будет использоваться и обязательную информацией о версии API для управлением гаджета. Атрибуты: