Устройство гаджета в 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>© 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 для управлением гаджета. Атрибуты: