////////////////////////////////////////////////////////////////////// // Sidewinder Viewer Google Calendar Sample. // // Copyright © 2006 Sidewinder Ltd. All rights reserved. // // // // File: ~/Test/SWViewer/Scripts/gcal-sample/gcal.js // // Author: Phil Booth // // Date: 23-Aug-2006 // ////////////////////////////////////////////////////////////////////// // Object creation functions // function CreateRenderer(nWidth, nHeight, sEdge, sPosition, bAutoHide, sTitle, sURL) { var renderer = new Renderer({Type:"xhtml", Style:0x00000040|0x00000800|0x00001000|0x00400000|0x20000000, Width:nWidth, Height:nHeight, Edge:sEdge, Position:sPosition, AutoHide:bAutoHide, Title:sTitle}); renderer.Create(); if(typeof(sURL) == "string" && sURL != null && sURL != "") renderer.Load(sURL); renderer.Show(); return renderer; } function CreateEventListener(method) { var listener = new EventListener; listener.SetHandler(method); return listener; } ////////////////////////////////////////////////////////////////////// // Class definitions // function GglDev(listener) { this.renderer = CreateRenderer(439, 300, "top", "left", true, "Google Developer Events", "http://www.google.com/calendar/embed?src=developer-calendar@google.com&chrome=NAVIGATION&epr=2&mode=AGENDA&height=588"); this.renderer.addEventListener("renderer-request-newwindow", listener, true); } function Films(listener) { this.renderer = CreateRenderer(439, 300, "top", "", true, "UK Film Releases", "http://www.google.com/calendar/embed?src=ngd1kkd4si8g6r0k7c67r8umvs@group.calendar.google.com&chrome=NAVIGATION&epr=2&mode=AGENDA&bgcolor=%236699FF&height=588"); this.renderer.addEventListener("renderer-request-newwindow", listener, true); } function LFC(listener) { this.renderer = CreateRenderer(439, 300, "top", "right", true, "Liverpool FC Results & Fixtures", "http://www.google.com/calendar/embed?src=v5e540lqtcng91oir7un98t9mip6d07m%40import.calendar.google.com&chrome=NAVIGATION&epr=2&bgcolor=%23CC0000&height=588"); this.renderer.addEventListener("renderer-request-newwindow", listener, true); } function Add() { this.renderer = CreateRenderer(800, 400, "", "", false, "Add..."); } ////////////////////////////////////////////////////////////////////// // Event handling procedures // function handleEvent(event) { switch(event.name) { case "renderer-request-newwindow": onNewWindow(event.parameter); break; case "renderer-notify-destroy": onDestroy(event.parameter); break; } } function onNewWindow(renderer) { var add = new Add(); renderer.objectValue = add.renderer.GetRenderingImplementation(); } function onDestroy(renderer) { } ////////////////////////////////////////////////////////////////////// // Entry point // function main() { var listener = CreateEventListener(handleEvent); var ggldev = new GglDev(listener); var films = new Films(listener); var lfc = new LFC(listener); } main();