////////////////////////////////////////////////////////////////////// // Sidewinder Viewer Google Calendar Mini-Sample. // // Copyright © 2006 Sidewinder Ltd. All rights reserved. // // // // File: ~/Test/SWViewer/Scripts/gcal-mini-sample/gcal-mini.js // // Author: Phil Booth // // Date: 23-Aug-2006 // ////////////////////////////////////////////////////////////////////// // Object creation functions // function CreateRenderer(nWidth, nHeight, sEdge, sPosition, nStyle, bAutoHide, bTransparency, nTransparency, nOpacity, sTitle, sURL) { var renderer; if(typeof(bTransparency) == "boolean" && bTransparency == true) renderer = new Renderer({Type:"xhtml", Style:nStyle, Width:nWidth, Height:nHeight, Edge:sEdge, Position:sPosition, AutoHide:bAutoHide, Transparency:nTransparency, Opacity:nOpacity, Title:sTitle}); else renderer = new Renderer({Type:"xhtml", Style:0x00000040|0x00000800|0x00001000|0x00400000|0x20000000, Width:nWidth, Height:nHeight, Edge:sEdge, Position:sPosition, AutoHide:bAutoHide, Opacity:nOpacity, 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 BasicCal(listener) { this.renderer = CreateRenderer(240, 250, "top", "right", 0x00000800|0x00001000|0x00200000|0x00400000, false, true, 0xccffcc, 90, "Sidewinder: Google Calendar", "http://skimstone.x-port.net/files/gcal-mini.html"); this.renderer.addEventListener("renderer-request-newwindow", listener, true); } function Add() { this.renderer = CreateRenderer(800, 400, "", "", 0x00000040|0x00000800|0x00001000|0x00400000|0x20000000, false, false, 0, 100, "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 basic = new BasicCal(listener); } main();