--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgignore Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,1 @@
+.DS_Store
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/.project Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Eggtimer</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+ </natures>
+</projectDescription>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/.settings/.jsdtscope Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path=""/>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+ <attributes>
+ <attribute name="hide" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+ <classpathentry kind="con" path="tmw.coreLibrary"/>
+ <classpathentry kind="output" path=""/>
+</classpath>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/.settings/org.eclipse.wst.common.project.facet.core.xml Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <runtime name="org.symbian.tools.wrttools.wrt:1.1"/>
+ <fixed facet="wst.jsdt.web"/>
+ <fixed facet="tmw.core"/>
+ <fixed facet="tmw.geolocation"/>
+ <installed facet="wst.jsdt.web" version="1.0"/>
+ <installed facet="tmw.core" version="1.0"/>
+ <installed facet="tmw.geolocation" version="1.0"/>
+</faceted-project>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/.settings/org.eclipse.wst.jsdt.ui.superType.container Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/.settings/org.eclipse.wst.jsdt.ui.superType.name Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,1 @@
+Window
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/.settings/org.symbian.tools.tmw.previewer.xml Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+<entry key="__SYM_NOKIA_EMULATOR_DEVICE_MODE">portrait</entry>
+<entry key="__SYM_NOKIA_CONSOLE_OPEN">false</entry>
+<entry key="__SYM_SELECTED_CONTROLS_TAB">1</entry>
+<entry key="__SYM_WRT_VERSION">WRT 1.1</entry>
+<entry key="__SYM_NOKIA_EMULATOR_DEVICE">360x640</entry>
+</properties>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/.settings/org.symbian.tools.tmw.ui.xml Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment targetId="mtw.filesystem" typeId="org.symbian.tools.tmw.fileSystem">
<target targetId="Testing5800" typeId="org.symbian.tools.tmw.bluetooth"/>
<target path="/Users/eugeneo/Desktop/Eggtimer.wgz" targetId="mtw.filesystem" typeId="org.symbian.tools.tmw.fileSystem"/>
+</deployment>
\ No newline at end of file
Binary file Eggtimer/Icon.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/Info.plist Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Nokia//DTD PLIST 1.0//EN" "http://www.nokia.com/DTDs/plist-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>DisplayName</key>
+ <string>Eggtimer</string>
+ <key>Identifier</key>
+ <string>org.symbian.eggtimer</string>
+ <key>Version</key>
+ <string>1.0</string>
+ <key>AllowNetworkAccess</key>
+ <true/>
+ <key>MainHTML</key>
+ <string>index.html</string>
+ <key>MiniViewEnabled</key>
+ <false/>
+</dict>
+</plist>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/basic.css Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,61 @@
+/*
+ * Add your Stylesheet contents here
+ */
+#remaining-time {
+ background-color: olive;
+ width: 170px;
+ height: 40px;
+ position: absolute;
+ left: 95px;
+ font-size: xx-large;
+}
+
+#pausestart {
+ height: 32px;
+ width: 32px;
+ position: relative;
+ right: -138px;
+ top: -32px;
+ background-image: url('images/button.png');
+}
+
+.digits {
+ width: 3ex;
+ text-align: center;
+}
+
+#time {
+ font-weight: bold;
+ text-align: center;
+ width: 138px;
+}
+
+#sand {
+ background-color: yellow;
+ position: absolute;
+ top: 0;
+ bottom: 50%;
+ width: 100%;
+ z-index: -1;
+}
+
+#sand-bottom {
+ background-color: yellow;
+ position: absolute;
+ top: 100%;
+ bottom: 0;
+ width: 100%;
+ z-index: -2;
+}
+
+:LINK {
+ text-decoration: none;
+ color: black;
+}
+
+#hourglass {
+ position: absolute;
+ top: 80px;
+ left: 70px;
+ z-index: 100;
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/basic.js Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,102 @@
+/*
+ * JavaScript file
+ */
+
+var SETUP_ID = 1;
+
+var timervalue = 0;
+var initialTimer = 0;
+var timeoutId = null;
+
+function init()
+{
+ showMainWindow();
+ widget.setDisplayPortrait();
+}
+
+function startTimer() {
+ var hr = parseInt(document.getElementById("hrs").value);
+ var min = parseInt(document.getElementById("min").value);
+ var sec = parseInt(document.getElementById("sec").value);
+
+ timervalue = hr * 3600 + min * 60 + sec;
+ initialTimer = timervalue;
+ showMainWindow();
+ startCountdown();
+}
+
+function startCountdown() {
+ if (timeoutId) {
+ clearInterval(timeoutId);
+ }
+ timeoutId = window.setInterval(tick, 1000);
+ tick();
+}
+
+function tick() {
+ if (timervalue > 0) {
+ timervalue = timervalue - 1;
+ var hrs = Math.floor(timervalue / 3600);
+ var mins = Math.floor((timervalue % 3600) / 60);
+ var sec = timervalue % 60;
+
+ var sz = pad(hrs) + ":" + pad(mins) + ":" + pad(sec);
+ document.getElementById("timervalue").innerHTML = sz;
+ document.getElementById("sand").style.top=(50 * (initialTimer-timervalue)/initialTimer).toFixed(0) + "%";
+ document.getElementById("sand-bottom").style.top=(50+(50 * timervalue/initialTimer)).toFixed(0) + "%";
+ if (timervalue == 0) {
+ cancelTimer();
+ }
+ }
+}
+
+function pad(num) {
+ if (num < 10) {
+ return '0' + num;
+ } else {
+ return num;
+ }
+}
+
+function cancelTimer() {
+ clearInterval(timeoutId);
+ timeoutId = 0;
+ timervalue = 0;
+ document.getElementById("timervalue").innerHTML = "00:00:00";
+ document.getElementById("sand").style.top="50%";
+ document.getElementById("sand-bottom").style.top="50%";
+}
+
+function showMainWindow() {
+ document.getElementById("main-window").style.display = "inherit";
+ document.getElementById("time-setup").style.display = "none";
+ var item = new MenuItem("Setup timer", SETUP_ID);
+ item.onSelect = showTimerSetup;
+ menu.append(item);
+ menu.setRightSoftkeyLabel("Exit", null);
+}
+
+function showTimerSetup() {
+ document.getElementById("main-window").style.display = "none";
+ document.getElementById("time-setup").style.display = "inherit";
+ var item = menu.getMenuItemById(SETUP_ID);
+ menu.remove(item);
+ menu.setRightSoftkeyLabel("Cancel", showMainWindow);
+}
+
+var paused = false;
+
+function pauseStart() {
+ if (paused) {
+ startCountdown();
+ document.getElementById("pausestart").style.backgroundPosition = "0px 0px";
+ paused = false;
+ } else {
+ if (timeoutId) {
+ window.clearInterval(timeoutId);
+ timeoutId = null;
+ }
+ document.getElementById("pausestart").style.backgroundPosition = "0px 32px";
+ paused = true;
+ }
+}
\ No newline at end of file
Binary file Eggtimer/images/button.png has changed
Binary file Eggtimer/images/hourglass.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Eggtimer/index.html Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Hourglass</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<script language="javascript" type="text/javascript" src="basic.js"></script>
+<link rel="stylesheet" href="basic.css" type="text/css" />
+<meta name="Generator" content="Symbian WRT IDE" />
+</head>
+<body onload="javascript:init();">
+<div id="main-window">
+ <div id="remaining-time">
+ <div id="time" ><a href="javascript:showTimerSetup()" id="timervalue">00:00:00</a></div>
+ <div id="pausestart" onclick="pauseStart()"> </div>
+ </div>
+ <div id="hourglass">
+ <div id="sand"> </div>
+ <div id="sand-bottom"> </div>
+ <img src="images/hourglass.png"></img>
+ </div>
+</div>
+<div id="time-setup">
+ Specify time:
+ <input id="hrs" class="digits" value="00"/>:<input id="min" class="digits" value="00"/>:<input id="sec" class="digits" value="00"/>
+ <input type="button" value="Start" onclick="startTimer()"/><input type="button" value="Cancel" onclick="showMainWindow()"/>
+</div>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/.project Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Orientation Wallpapers</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+ </natures>
+</projectDescription>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/.settings/.jsdtscope Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path=""/>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+ <attributes>
+ <attribute name="hide" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+ <classpathentry kind="con" path="tmw.coreLibrary"/>
+ <classpathentry kind="output" path=""/>
+</classpath>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/.settings/org.eclipse.wst.common.project.facet.core.xml Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <runtime name="org.symbian.tools.wrttools.wrt:1.1"/>
+ <fixed facet="wst.jsdt.web"/>
+ <fixed facet="tmw.geolocation"/>
+ <fixed facet="tmw.core"/>
+ <installed facet="wst.jsdt.web" version="1.0"/>
+ <installed facet="tmw.core" version="1.0"/>
+ <installed facet="tmw.geolocation" version="1.0"/>
+</faceted-project>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/.settings/org.eclipse.wst.jsdt.ui.superType.container Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/.settings/org.eclipse.wst.jsdt.ui.superType.name Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,1 @@
+Window
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/.settings/org.symbian.tools.tmw.previewer.xml Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
+<properties>
+<entry key="__SYM_NOKIA_EMULATOR_DEVICE_MODE">portrait</entry>
+<entry key="__SYM_NOKIA_CONSOLE_OPEN">true</entry>
+<entry key="__SYM_SELECTED_CONTROLS_TAB">1</entry>
+<entry key="__SYM_WRT_VERSION">WRT 1.1</entry>
+<entry key="__SYM_NOKIA_EMULATOR_DEVICE">360x640</entry>
+<entry key="__SYM_DEVICE_ORIENTATION">DisplayUpwards</entry>
+</properties>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/.settings/org.symbian.tools.tmw.ui.xml Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment targetId="mtw.filesystem" typeId="org.symbian.tools.tmw.fileSystem">
<target targetId="Testing5800" typeId="org.symbian.tools.tmw.bluetooth"/>
<target targetId="Test 5800" typeId="org.symbian.tools.tmw.bluetooth"/>
<target path="/Users/eugeneo/Desktop/Orientation Wallpapers.wgz" targetId="mtw.filesystem" typeId="org.symbian.tools.tmw.fileSystem"/>
</deployment>
\ No newline at end of file
Binary file Orientation Wallpapers/Icon.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/Info.plist Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Nokia//DTD PLIST 1.0//EN" "http://www.nokia.com/DTDs/plist-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>DisplayName</key>
+ <string>Orientation Wallpapers</string>
+ <key>Identifier</key>
+ <string>com.company.OrientationWallpapers</string>
+ <key>Version</key>
+ <string>1.0</string>
+ <key>AllowNetworkAccess</key>
+ <true/>
+ <key>MainHTML</key>
+ <string>index.html</string>
+ <key>MiniViewEnabled</key>
+ <false/>
+</dict>
+</plist>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/basic.css Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,38 @@
+/*
+ * Add your Stylesheet contents here
+ */
+div {
+ position: absolute;
+ height: 90%;
+ width: 90%;
+}
+
+img {
+ width: 100%;
+ height: 100%;
+}
+
+#DisplayUp {
+ display: none;
+}
+
+#DisplayDown {
+ display: none;
+}
+
+#DisplayRightUp {
+ display: none;
+}
+
+#DisplayLeftUp {
+ display: none;
+}
+
+#DisplayUpwards {
+ display: none;
+}
+
+#DisplayDownwards {
+ display: none;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/basic.js Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,74 @@
+/*
+ * JavaScript file
+ */
+
+function init()
+{
+ widget.setDisplayPortrait();
+ watchSensorNotifications();
+}
+
+// Call this function to add a callback that will be notified of orientation changes
+function watchSensorNotifications() {
+ var sensors = device.getServiceObject("Service.Sensor", "ISensor");
+ var SensorParams = {
+ SearchCriterion : "Orientation" // TODO Possible values (one of):
+ // SearchCriterion : "All"
+ // SearchCriterion : "AccelerometerAxis"
+ // SearchCriterion : "AccelerometerDoubleTapping"
+ // SearchCriterion : "Rotation"
+ };
+ var result = sensors.ISensor.FindSensorChannel(SensorParams);
+
+ if (result.ErrorCode != 0) {
+ var errorCode = result.ErrorCode;
+ var errorMessage = result.ErrorMessage;
+ // TODO Handle error
+ return null;
+ }
+ // TODO Function named "sensorCallback" will be called when device orientation changes. This function should be created.
+ var result2 = sensors.ISensor.RegisterForNotification(
+ { ChannelInfoMap : result.ReturnValue[0],
+ ListeningType : "ChannelData" }, sensorCallback);
+ if (result.ErrorCode == 0) {
+ var transactionId = result.TransactionID;
+ // TODO Use this transaction ID to cancel notifications when watching orientation is no longer needed
+ return transactionId;
+ } else {
+ var errorCode = result.ErrorCode;
+ var errorMessage = result.ErrorMessage;
+ // TODO Handle error
+ return null;
+ }
+}
+
+// This function can be passed as callback to
+// sensors.ISensor.RegisterForNotification method
+function sensorCallback(transactionId, code, result) {
+ if (result.ErrorCode == 0) {
+ // TODO Process notification
+ var dataType = result.ReturnValue.DataType; // One of: "AxisData", "DoubleTappingData", "OrientationData" or "RotationData"
+ var orientation = result.ReturnValue.DeviceOrientation; // Orientation
+ // var xAxis = result.ReturnValue.XAxisData; // Accelerometer
+ // var yAxis = result.ReturnValue.YAxisData; // Accelerometer
+ // var zAxis = result.ReturnValue.ZAxisData; // Accelerometer
+ // var direction = result.ReturnValue.DeviceDirection; // Accelerometer double tapping
+ // var xRotation = result.ReturnValue.XRotation; // Rotation
+ // var yRotation = result.ReturnValue.YRotation; // Rotation
+ // var zRotation = result.ReturnValue.ZRotation; // Rotation
+ setVisibleDiv(orientation);
+ } else {
+ var errorCode = result.ErrorCode;
+ var errorMessage = result.ErrorMessage;
+ // TODO Handle error
+ }
+}
+
+function setVisibleDiv(orientation) {
+ var elements = document.getElementsByTagName("div");
+ for ( var i = 0; i < elements.length; i++) {
+ var el = elements[i];
+ el.style.display = el.id == orientation ? "inherit" : "none";
+ }
+ document.getElementById("orientation").innerHTML = orientation;
+}
\ No newline at end of file
Binary file Orientation Wallpapers/images/downwards.jpg has changed
Binary file Orientation Wallpapers/images/leftup.jpg has changed
Binary file Orientation Wallpapers/images/reverseportrait.jpg has changed
Binary file Orientation Wallpapers/images/rightup.jpg has changed
Binary file Orientation Wallpapers/images/up.jpg has changed
Binary file Orientation Wallpapers/images/upwards.jpg has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orientation Wallpapers/index.html Thu Oct 28 11:00:31 2010 -0700
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Sample Widget</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <script language="javascript" type="text/javascript" src="basic.js"></script>
+ <link rel="stylesheet" href="basic.css" type="text/css"/>
+ <meta name="Generator" content="Symbian WRT IDE" />
+ </head>
+ <body onload="javascript:init();">
+ <div id="DisplayUp"><img src="images/up.jpg"></img></div>
+ <div id="DisplayDown"><img src="images/reverseportrait.jpg"></img></div>
+ <div id="DisplayRightUp"><img src="images/rightup.jpg"></img></div>
+ <div id="DisplayLeftUp"><img src="images/leftup.jpg"></img></div>
+ <div id="DisplayUpwards"><img src="images/upwards.jpg"></img></div>
+ <div id="DisplayDownwards"><img src="images/downwards.jpg"></img></div>
+ <span id="orientation"></span>
+ </body>
+</html>