--[[ $Id$ Copyright (c) Brett England, 2013 No commercial use. No redistribution at profit. All derivative work must retain this message and acknowledge the work of the original author. --]] local storyboard = require "storyboard" local scene = storyboard.newScene() local widget = require "widget" local ui = require "ui" local xivelyFeed = 1358187855 function scene:createScene( event ) local group2 = self.view local group1 = display.newGroup() local streamIDs = { "Electric", "Utility Temp", "Boiler Status", "Outside Temp", "Security Alarm", "Water Tank Bottom", "Wind", "Rain", "Thermostat", "Total Electric", "Water Tank Top", "Front Room Temp", "Back Room Temp", "Landing Temp", "Smoke Alarm", "Media Temp", "Ave House Temp", "Electric Daily History", "Boiler Daily History", "Pressure" } local durationTimes = { "2hours", "6hours", "12hours", "24hours", "7days", "30days", "1month", "3months", "12months"} local columnData = { { align = "left", startIndex = 1, width=180, labels = streamIDs }, { align = "left", startIndex = 1, width=100, labels = durationTimes } } local function networkListener( event ) graph = event.target group2:insert(graph) group1 = display.newGroup() end local function graphload(datastream) local file = system.pathForFile( "XivelyChart.png", system.TemporaryDirectory ) os.remove( file ) local datastreamNumber = datastream[1].index - 1 local httpaddress=("http://api.xively.com/v2/feeds/"..xivelyFeed.."/datastreams/"..datastreamNumber..".png?duration="..datastream[2].value.."&w=700&h=350&title="..datastream[1].value.."&b=true&g=true") display.loadRemoteImage( httpaddress, "GET", networkListener, "XivelyChart.png", system.TemporaryDirectory, 50, 75 ) group1:removeSelf() end local function pickerwheelpopup() myPicker = widget.newPickerWheel { left = 10, top = 120, font = native.systemFontBold, fontSize = 17, columns = columnData } group1:insert(myPicker) if (graph ~= nil) then graph:removeSelf() graph = nil end selectButton = widget.newButton { left = 350, top= 210, width= 100, height=40, font="Arial", fontSize=18, label="Select", labelAlign="center", labelColor = { default = {0,0,0}, over = {255,255,255} }, onPress = function() graphload(myPicker:getValues()) end } group1:insert(selectButton) end local PickerLoadButton = widget.newButton { left = 10, top= 10, width= 200, height=40, font="Arial", fontSize=18, label="New Graph", labelAlign="center", labelColor = { default = {0,0,0}, over = {255,255,255} }, onEvent = function() pickerwheelpopup()end } group2:insert(PickerLoadButton) end scene:addEventListener( "createScene", scene ) return scene