On Sun, Aug 16, 2009 at 10:22 PM, Devendar Mallireddy<[email protected]> wrote: > Hi > > I have a yahoo widget, I want to convert to Gadget, can some help me the > steps. > > Below is the code, it reads a web page & contents of the table are displayed. > > <?xml version="1.0" encoding="UTF-8"?> > <widget version="1.0" minimumVersion="3.0"> > <debug>off</debug> > <!-- > Widget: > by Devendar Reddy > --> > <!-- BEGIN OF PREFERENCES ################################################ > --> > > <preference name="userName"> > <title>Unix Id:</title> > <type>text</type> > <description>Insert the Unix Id lower case</description> > <defaultvalue>dmalli</defaultvalue> > <group>sapSystem</group> > </preference> > > <preference name="prefTimer"> > <title>Update interval in minutes:</title> > <type>text</type> > <defaultValue>30</defaultValue> > </preference> > > <!-- END OF PREFERENCES ################################################## > --> > <window name="mainWindow" width="385" height="160"> > <textarea name="bkg" width="385" height="160" hOffset="0" > vOffset="0"> > > <bgColor>#463E3F</bgColor> > <bgOpacity>255</bgOpacity> > <scrollbar>false</scrollbar> > <editable>false</editable> > <font>Verdana</font> > <size>12</size> > </textarea> > > > // <image src="Resources/base.png" width="1" height="1" > name="imgSearchBg1"> > // </image> > > > > > <image src="Resources/gene.png"> > <name>pleaseClick</name> > <hOffset>312</hOffset> > <vOffset>30</vOffset> > <visible>true</visible> > <onMouseDown> > openURL(urlStr4); > </onMouseDown> > </image> > > <image src="Resources/signInButton.png"> > <name>pleaseClick</name> > <hOffset>312</hOffset> > <vOffset>90</vOffset> > <visible>true</visible> > <onMouseDown> > openURL(urlStr4); > </onMouseDown> > </image> > > <image src="Resources/Search Button 0.png" name="imgSearchBg"> > <hOffset>100</hOffset> > <vOffset>22</vOffset> > <visible>true</visible> > <onMouseDown> > openURL(urlStr2); > </onMouseDown> > </image> > </window> > <script> > function changeOpacity() { > this.opacity = (this.opacity/100)*90; > } > </script> > <action trigger="onLoad"> > <![CDATA[ > var theRows = []; // an array of rows (of the table) > var itemOffsets = [2, 260]; > var itemWidths = [250, 50]; > var ivalue2 = preferences.userName.value; > var urlStr2 = > "http://gremedyprod.gene.com:9090/cgi-bin/ticket_search_support.cgi?ceo=" > + ivalue2 ; > > var urlStr4 = > "http://gremedyprod.com:9090/midtier/apps/default/gremedyprod/RemedySupport/start.jsp?cacheId=" > + ivalue2 ; > /* > var reIcon = /src=\"(.*?)\"/gi; > var reLoc = /<b>(.*?)<\/b>/gi; > var reCur = /<small>(.*?)<\/small>/gi; > var reDesc = /<font.*?>(.*?)<\/font>/gi; > var reList = /<b.*>.*<\/b>/gi; > var reList2 = /<strong>(.*?)<\/strong>/gi; > var reList3 = /<small>(.*?)<\/small>/gi; > var reList4 = /<td>(.*)<\/td>/gi; > */ > updateInterval = Number(preferences.prefTimer.value); > updateCounter = 0; > function fetchData(location) > { > var url = new URL(); > url.location = location; > var data = url.fetch(); > if (url.response != 200) { alert('fetch failed with code ' > + url.response); closeWidget(); } > return data; > } > > function cleanData(data) > { > return data.replace(/\ > \;\,/gi,"").replace(/<p.*?>/gi,"").replace(/\r\n?|\n/g,""); > } > > function esc(s) { return s.replace(/([\W])/g,"\\$1"); } > > function makeReport(data) > { > var reTable = esc('<TABLE WIDTH="30%"') + '(.*?)' + > esc('</TABLE>'); > var table = data.match(reTable); > > if (!table) { alert('table is null'); closeWidget(); } > var reRows = /<tr(.*?)>(.*?)<\/tr>/gi; > var report = table[0].match(reRows); > > if (!report) { alert('report is null'); closeWidget(); } > return report; > } > function hide() > { > j = 0 ; > } > function makeRow1(i, hOffset, vOffset, items) // items is > an array of items > { > theRows[i] = []; // array of items > var te1 = "gRemedy Summary : " + preferences.userName.value; > var row = theRows[i]; > row[i] = new Text(); > var item = row[i]; > item.window = mainWindow; > item.data = te1; > item.data = item.data.replace(/<[^<>]+>/g,""); > item.vOffset = vOffset + 20*i + 16; > item.hOffset = 10 ; > item.height = 20; > item.width = 360; > item.font = 'Arial Bold'; > item.size = 16; > item.opacity = 255; > //item.color = "#000000"; > item.color = "#FFCB2A"; > //item.bgColor = "#FFCB2A";#585858 > item.bgColor = "#463E3F"; > item.bgOpacity = 255; > > > } > > function makeRow2(i, hOffset, vOffset, items) // items is > an array of items > { > theRows[i] = []; // array of items > var te1 = "" ; > var row = theRows[i]; > row[i] = new Text(); > var item = row[i]; > item.window = mainWindow; > item.data = te1; > item.data = item.data.replace(/<[^<>]+>/g,""); > item.vOffset = vOffset + 20*i + 16; > item.hOffset = 10 ; > item.height = 10; > item.width = 360; > item.font = 'Arial Bold'; > item.size = 16; > item.opacity = 255; > //item.color = "#000000"; > item.color = "#FFCB2A"; > //item.bgColor = "#FFCB2A";#585858 > item.bgColor = "#463E3F"; > item.bgOpacity = 255; > > > } > > function makeRow(i, hOffset, vOffset, items) // items is an > array of items > { > theRows[i] = []; // array of items > var row = theRows[i]; > > > for (var j = 0; j < items.length; j += 1) > { > row[i] = new Text(); > var item = row[i]; > item.window = mainWindow; > item.data = items[j]; > item.data = item.data.replace(/<[^<>]+>/g,""); > item.vOffset = vOffset + 20*i + 10; > item.hOffset = hOffset + itemOffsets[j]; > item.height = 16; > item.width = itemWidths[j]; > item.font = 'Arial Bold'; > item.size = 12; > item.opacity = 255; > //item.color = "#000000"; > item.color = "#DDDDDD"; > //item.bgColor = "#313e5c";#FFFFFF > item.bgColor = "#463E3F"; > item.bgOpacity = 255; > } > } > > function displayReport(report) > { > var reCells = /<td.*?\>(.*?)<\/td>/gi; > //var reTable1 = esc('<TD><B>') + '(.*?)' + esc('</B></TD>'); > //var table1 = data.match(reTable1); > //print (table1); > var k = 0; > makeRow1(k, 0, 0); > k += 1; > makeRow2(k, 0, 0); > k += 2; > for (var i= 0; i < report.length; i=i+1) > { > > > var cells = report[i].match(reCells); > > if (cells !== null) > { > for (var j = 0; j < cells.length; j=j+1) > { > cells[j] = > cells[j].replace(/<[^<>]+>/g,"").replace(/\s\s/g, " > ").replace(/^\s*/g, ''); > } > makeRow(k, 1, 1, cells); > k += 1; > } > } > } > var ivalue = preferences.userName.value; > var urlStr = > "http://gremedyprod.com:9090/cgi-bin/ticket_search_support.cgi?ceo=" > + ivalue ; > > var data = fetchData(urlStr); > data = cleanData(data); > var report = makeReport(data); > > report.shift(); > > displayReport(report); > > ]]> > </action> > > /* this trigger updates once a minute and checks to see if the > interval is right to update the page */ > <action trigger="onTimer" interval="60"> > if(updateCounter++ == updateInterval) { > var ivalue1 = preferences.userName.value; > ivalue2 = preferences.userName.value; > var urlStr1 = > "http://gremedyprod.com:9090/cgi-bin/ticket_search_support.cgi?ceo=" > + ivalue1 ; > > var data = fetchData(urlStr1); > data = cleanData(data); > var report = makeReport(data); > report.shift(); > > displayReport(report); > print(updateCounter); > updateCounter = 0; > > > updateInterval = Number(preferences.prefTimer.value); > > > } > </action> > > <action trigger="onPreferencesChanged" > > var ivalue3 = preferences.userName.value; > ivalue2 = ivalue3; > var urlStr3 = > "http://gremedyprod.com:9090/cgi-bin/ticket_search_support.cgi?ceo=" > + ivalue3 ; > urlStr2 = > "http://gremedyprod.com:9090/cgi-bin/ticket_search_support.cgi?ceo=" > + ivalue2 ; > urlStr4 = > "http://gremedyprod.com:9090/midtier/apps/default/gremedyprod/RemedySupport/start.jsp?cacheId=" > + ivalue2 ; > var data = fetchData(urlStr3); > data = cleanData(data); > var report = makeReport(data); > report.shift(); > displayReport(report); > > </action> > > </widget> >
--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Desktop Developer Group" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-desktop-developer?hl=en -~----------~----~----~----~------~----~------~--~---
