1 Tworzenie gadgetów Windows Vista/7 Krzysztof Jeliński Toruń 2011
2 Gadżety Małe specjalizowane aplikacje, które są projektowane tak, aby wykonywały proste zadania (zegary, kalendarze, powiadamiacze RSS lub wyszukiwarki). Mogą być również użyte do kontrolowania zewnętrznych aplikacji (Windows Media Center)
3 Przepis na gadżet: HTML + XML + CSS + JavaScript + Obrazki
4 Plik XML Podstawowy plik gadżetu Plik definicji, którego zadaniem jest zapewnienie spójności Zawiera: – Opis gadżetu, – Odnośniki ( do głównego HTML czy też ikon) – Dane Autora (imię,nazwisko,www) – Informacje o kodowaniu
5 Plik XML name: Tytuł gadżetu. version: Wersja gadżetu. author: Dane o autorze bądź firmie. info url: Adres strony www dewelopera. info text: Przyjazna nazwa dla strony. logo src: Logo firmy. copyright: Nota prawna. description: Opis gadżetu. icon src: Określa plik ikony dla gadżetu. base src: Określa główny plik HTML. Informacje wyświetlane w galerii gadżetów
6 Plik XML
7 Plik HTML Podstawowy plik gadżetu Maksymalnie 130 px szerokości Otwierany jest w Internet Explorerze Okno i lokacja jest kontrolowana przez Sidebar, jednak wszystko wewnątrz jest typową aplikacją webową. Dostęp do DOM i większości API używanych przy tworzeniu stron WWW. Dodatkowo API od Sidebar Gadget Object Model
8 Plik HTML Kod HTML generowany dynamicznie przez JavaScript (gadget.js) Zewnętrzny kaskadowy arkusz stylów (styl.css) Tworzenie gadżetu przypomina tworzenie strony www z tym, że nie trzeba się martwić o poprawne działanie w różnych przeglądarkach.
9 JavaScript Bądż inny język skryptowy obsługiwany przez IE7 (VBScript) Jak wiadomo HTML i CSS to za mało by tworzyć interesujące, dynamiczne strony www. Rzecz ma się identycznie z gadżetami. Gadżet ma pełnić jakąś funkcję – JavaScript mu to umożliwia. Przykład przypisania metodom JavaScript zdarzeń związanych z otwarciem i zamknięciem gadżetu
10 Sidebar Sidebar na którym umieszczane są gadżety umieszczony jest w Vista po lewej lub prawej stronie. Można umieścić je poza sidebarem co skutkuje zazwyczaj powiększeniem gadżetu i wyświetlaniu większej ilości informacji Sidebar został usunięty z Windows 7 a gadżety mogą zostać umieszczane gdziekolwiek na ekranie. Do zmiany ich wielkości służy dodatkowy przycisk.
11 Dokowanie i rozmiar Jeśli gadżet jest wewnątrz Sidebar mówimy, że jest zadokowany. Natomiast jeśli jest poza nim wtedy gadżet jest niezadokowany bądź pływający. Maksymalna szerokość dla zadokowanego wynosi 130px. Gadżet niezadokowany nie ma określonej maksymalnej szerokości jednak Microsoft nie zaleca tworzenia gadżetów szerszych niż 400px Nieoficjalna minimalna wysokość gadżetu wynosi 57px i wynika ona z wysokości toolboxa
12 Flyout i Settings Za pomocą dostarczonych narzędzi możemy w łatwy sposób tworzyć okna flyoutów i settingsów.
13 Sidebar Object Reference Gadget System Presentation
14 Sidebar Object Reference-Gadget System.Gadget System.Gadget.Flyout System.Gadget.Settings System.Gadget.Settings.ClosingEvent System.Gadget.Sidebar System.Gadget.SideShow
15 Sidebar Object Reference-Gadget System.Gadget – close – zamyka gadżet – background - (r/w) – docked - (ro) czy gadżet zadokowany w sidebar? – name – (ro) nazwa gadgetu z manifestu – opacity – (ro) nieprzeźroczystość – platformVersion – (ro) wersja Sidebara – settingsUI – (r/w) plik HTML dla settingsow – version – (ro) wersja gadżetu z manifest – visible – (ro) czu gadżet widoczny – onDock – zdarzenie zadokowania
16 Sidebar Object Reference-Gadget System.Gadget.Flyout – document – (ro) objekt DOM pliku HTML Flyoutu – file – (r/w) plik HTML dla flyoutu – show– (rw) czy Flyout gadżetu jest widoczny – onHide – zdarzenie odpowiadajace ukryciu – onShow – zdarzenie pokazania flyoutu
17 Sidebar Object Reference-Gadget System.Gadget.Settings – read – pobiera nieokreśloną zapisana wartość – readString – pobiera zapisanego stringa – write – zachowuje nieokreśloną wartość – writeString – zachowuje wartość string
18 Sidebar Object Reference-System System.Contact System.ContactManager System.Debug System.Diagnostics.EventLog System.Environment System.Machine System.Machine.CPU System.Machine.PowerStatus System.MessageStore System.MessageStore.Folder System.MessageStore.Message System.Network.Wireless System.Shell System.Shell.Drive System.Shell.Folder System.Shell.Item System.Shell.RecycleBin System.Sound System.Time System.Time.timeZone
19 Sidebar Object Reference-System System.Machine – availableMemory – (ro) dostępna pamięć w MB – processorArchitecture - (ro) typ CPU – totalMemory – (ro) łączny rozmiar pamięci dostępny w bieżącej sesji użytkownika w MB
20 Sidebar Object Reference-System System.MachinePowerStatus – batteryCapacityRemaining – (ro) pozostała pojemność baterii w sekundach – batteryCapacityTotal - (ro) łączna pojemność baterii w sekundach – batteryPercentRemaining – (ro) ile % pozostało – batteryStatus – (ro) zwraca stan naładowania baterii – isBatteryCharging – (ro) czy bateria się ładuje – isPowerLineConnected – (ro) czy podłączono przewód zasilający – powerLineStatusChanged – podłączono/odłączono
21 Sidebar Object Reference-System System.Network.Wireless – address – (ro) – ipv6Address- (ro) – primaryDNSAddress – (ro) – secureConnection – (ro) połączenie jest bezpieczne? – signalStrength – (ro) siła sygnału – ssid – (ro) nazwa sieci – connectionChanged – zmiana połączenia – signalStrengthChanged – zmiana siły sygnału (update grafiki odpowiedzialnej za wykres)
22 No to do pracy... Przewidywany efekt pracy: Koniec prezentacji – Dziękuję za uwagę :)