Hello World ã¬ã¸ã§ãã
æãç°¡åã§åç´ãªã¬ã¸ã§ããï¼Hello World ã¬ã¸ã§ããï¼ã使ããæé ã«ã¤ãã¦ã§ãã
Hello World ã¬ã¸ã§ããã®ä½æ
誰ã§ãWindows ãµã¤ããã¼ ã¬ã¸ã§ããã®ä½ææé ãçè§£ã§ããæ§ã«ããç´æãªããæãç°¡åã§åç´ãªã¬ã¸ã§ããï¼Hello World ã¬ã¸ã§ããï¼ã使ããæé ã«ã¤ãã¦ç´¹ä»ãã¾ãã解説ã«å¾ã£ã¦å®éã«ä½æãã¦ã¿ã¦ãã ããã
Windows ãã´ãã¼ã¨Rãã¼ãæ¼ãã¦ã
ãã¡ã¤ã«åãæå®ãã¦å®è¡
ã®ãã¤ã¢ãã°ã表示ãã¾ããããã¦ãããã¹ãå ¥åãã©ã¼ã ã« %USERPROFILE%\AppData\Local\Microsoft\Windows Sidebar\Gadgetsï¼ã¦ã¼ã¶æ¯ã®ã¬ã¸ã§ããã®ã¤ã³ã¹ãã¼ã«å ï¼ã¨å ¥åãã¦ã¨ã¯ã¹ããã¼ã©ãéãã¾ããæ³¨é
- Windows Vista ã«äºãå°å ¥ããã¦ããã¬ã¸ã§ããã¯ã%ProgramFiles%\Windows Sidebar\Gadgets ã«ããã¾ãã
- æ¬è§£èª¬ã§ã¯ãã¬ã¸ã§ãããæ ¼ç´ããããã£ã¬ã¯ããªï¼
...\Gadgetsï¼ã®ãã¨ãã便å®ä¸ã¬ã¸ã§ãããã£ã¬ã¯ããªã¨ç§°ãã¾ãã
ã¬ã¸ã§ãããã£ã¬ã¯ããªã«ãããã使ããã¬ã¸ã§ãããæ ¼ç´ããçºã®ãã£ã¬ã¯ããªãæ°è¦ä½æãã¾ãã
ä¾ãã°ã使ãããã¸ã§ããã®ååãtestã¨ããå ´åã使ãããã£ã¬ã¯ããªã®åå㯠Test.gadget ã¨æå®ãã¾ãããã®ä¾ã§ã¯ããã£ã¬ã¯ããªã®åç§°ã
HelloWorld.gadgetã¨ãã¾ããã¬ã¸ã§ããæ¬ä½ã«ãªãHTMLãã¡ã¤ã«ã使ãã¾ããã¡ã¢å¸³ãªã©ã®ããã¹ãã¨ãã£ãã¿ãéããæ¬¡ã®ã³ã¼ããã³ãã¼ãã¦è²¼ãä»ãããã¡ã¤ã«åç§°ã
gadgetUI.htmlã¨æå®ãã¦ããããHelloWorld.gadgetãã£ã¬ã¯ããªã«ä¿åãã¾ãï¼æåã³ã¼ãã¯UTF-8ï¼ã<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> /*<![CDATA[*/ body { width: 130px; height: 60px; } /*]]>*/ </style> <title>Hello, World!</title> </head> <body> <p>Hello, World!</p> </body> </html>ã¬ã¸ã§ãããããã§ã¹ã [GadgetManifest] ã使ãã¾ããã¡ã¢å¸³ãªã©ã®ããã¹ãã¨ãã£ãã¿ãéããæ¬¡ã®ã³ã¼ããã³ãã¼ãã¦è²¼ãä»ãããã¡ã¤ã«åç§°ãå¿ ã
gadget.xmlã¨æå®ãã¦ããããHelloWorld.gadgetãã£ã¬ã¯ããªã«ä¿åãã¾ãï¼æåã³ã¼ãã¯UTF-8ï¼ã<?xml version="1.0" encoding="UTF-8"?> <gadget> <name>Hello, World!</name> <namespace>Example.gadgets</namespace> <version>1.0.0.0</version> <author name="Your Name"> <info url="http://www.example.com/" text="example.com"/> </author> <copyright>(c) 2008</copyright> <description>The Hello, World! Gadget</description> <hosts> <host name="sidebar"> <base type="HTML" apiVersion="1.0.0" src="gadgetUI.html"/> <permissions>Full</permissions> <platform minPlatformVersion="1.0"/> </host> </hosts> </gadget>使ããã¬ã¸ã§ãããå®è¡ãã¦ã¿ã¾ããWindows ãã´ãã¼ã¨Spaceãã¼ãæ¼ãã¦Enterãã¼ãæ¼ããããµã¤ããã¼ã®ä¸é¨ã®æ£ç¬¦å· (+) ãã¯ãªãã¯ãåã¯ãµã¤ããã¼ãå³ã¯ãªãã¯ãã¦
ã¬ã¸ã§ããã®è¿½å
ã鏿ããã¬ã¸ã§ãã ã®ã£ã©ãªã¼
ãéãã¾ãããã®ä¾ã§ã¯ãã¬ã¸ã§ãã ã®ã£ã©ãªã¼ãããã®ä¾ã§ä½æãã Hello World ã¬ã¸ã§ãããããã«ã¯ãªãã¯ãã¦ãµã¤ããã¼ã«è¿½å ãã¾ããã¬ã¸ã§ããã®è¡¨ç¤ºé åã« Hello, World! ã¨è¡¨ç¤ºãããã°æåã§ãã
Hello World ã¬ã¸ã§ããã®èæ¯ã«ç»åãæå®ãã
Hello World ã¬ã¸ã§ããã®ä½æã§ä½æãããHello World ã¬ã¸ã§ãããã®èæ¯ã«ç»åãæå®ãã¦ã¿ã¾ãããã
åå使ããã¬ã¸ã§ããæ¬ä½ã«ãªãHTMLãã¡ã¤ã«ï¼gadgetUI.htmlï¼ãããã¹ãã¨ãã£ãã¿ã§éããæ¬¡ã®ã³ã¼ããã³ãã¼ãã¦è²¼ãä»ãã¦ä¸æ¸ãä¿åãã¾ãã
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<style type="text/css">
/*<![CDATA[*/
body {
width: 130px;
height: 60px;
color: WindowText;
background-color: Window;
background-image: url("background.png");
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0% 0%;
margin: 0;
padding: 0;
}
div#GadgetBody {
width: 120px;
height: 50px;
margin: 5px;
text-align: center;
}
/*]]>*/
</style>
<title>Hello, World!</title>
</head>
<body>
<div id="GadgetBody">
<p>Hello, World!</p>
</div>
</body>
</html>ããã¦gadgetUI.htmlãã¡ã¤ã«ã§æå®ãã¦ããç»åãã¡ã¤ã«ï¼background.pngï¼ã%USERPROFILE%\AppData \Local\Microsoft\Windows Sidebar\Gadgets\HelloWorld.gadgetãã©ã«ãã«é
ç½®ãã¾ãã
ã¬ã¸ã§ããã®ä¿®æ£ãå®äºããããWindows ãµã¤ããã¼ããã¬ã¸ã§ãã ã®ã£ã©ãªãéãã¦ãHello World ã¬ã¸ã§ãããå®è¡ãã¾ããã¬ã¸ã§ããã®èæ¯ãæå®ããç»åã«ãªã£ã¦ããã°æåã§ãã
注é
- ã¬ã¸ã§ããã®å¯¸æ³ï¼å¹ åã³é«ãï¼ã¯ãæä½ã§ãå¹ 25pxï½130px以å ãé«ã60px以ä¸ã§ãªããã°ãªãã¾ãããå°ãåæå¤ã®å¯¸æ³ã¯ã25*60pxï¼å¹ Ãé«ãï¼ã§ãã
Hello World ã¬ã¸ã§ãããä¿®æ£ãã¦ç°å¢å¤æ°ã表示ãã
Hello World ã¬ã¸ã§ããã®èæ¯ã«ç»åãæå®ããã§ä½æãããHello World ã¬ã¸ã§ããããä¿®æ£ãã¦ç°å¢å¤æ°ã表示ãã¦ã¿ã¾ããããç°å¢å¤æ°ã®åå¾ã¯ãWindows Script Host [WSH] ã®WshEnvironmentãªãã¸ã§ã¯ãã§ãã§ãã¾ãããããã§ã®ä¾ã§ã¯ Windows ãµã¤ããã¼ ã¬ã¸ã§ããå°ç¨ã®API [GadgetAPI] ã«ã¦æä¾ããã System.Environmentãªãã¸ã§ã¯ãã使ç¨ãã¾ãã
åå使ããã¬ã¸ã§ããæ¬ä½ã«ãªãHTMLãã¡ã¤ã«ï¼gadgetUI.htmlï¼ãããã¹ãã¨ãã£ãã¿ã§éããæ¬¡ã®ã³ã¼ããã³ãã¼ãã¦è²¼ãä»ãã¦ä¸æ¸ãä¿åãã¾ãã
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<style type="text/css">
/*<![CDATA[*/
body {
width: 130px;
height: 60px;
color: WindowText;
background-color: Window;
background-image: url("background.png");
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0% 0%;
margin: 0;
padding: 0;
}
div#GadgetBody {
width: 120px;
height: 50px;
margin: 5px;
text-align: center;
}
/*]]>*/
</style>
<script type="text/javascript">
//<![CDATA[
var defaultText = "Hello, World!";
var variableName = "ProgramFiles";
window.onload = function() {
var envPath = System.Environment.getEnvironmentVariable(variableName);
var newP = document.createElement("p");
var newText = document.createTextNode(envPath ? envPath : defaultText);
newP.appendChild(newText);
var refElement = document.getElementById("GadgetBody");
while (refElement.firstChild)
refElement.removeChild(refElement.firstChild);
refElement.appendChild(newP);
};
//]]>
</script>
<title>Hello, World!</title>
</head>
<body>
<div id="GadgetBody">
<p>Hello, World!</p>
</div>
</body>
</html>ä¸è¨ä¾ã®scriptè¦ç´ ã®è¨è¿°å
容ã§ã¯W3Cã«ããDOM [DOM] ãç¨ãã¦ããããæ¬¡ã®ä¾ã§ã¯MS社ç¬èªã® Dynamic HTML [DHTML] ãç¨ãã¦ãããä¸è¨ä¾ã®scriptè¦ç´ ãä¸è¨ä¾ã§ç½®ãæãã¦ãåæ§ã®å®è¡çµæãå¾ãããã
<script type="text/javascript">
//<![CDATA[
var defaultText = "Hello, World!";
var variableName = "ProgramFiles";
window.attachEvent("onload", function(event) {
var envPath = System.Environment.getEnvironmentVariable(variableName);
refElement.innerHTML = "<p><\/p>";
refElement.children.item(0).innerText = envPath ? envPath : defaultText;
});
//]]>
</script>ã¬ã¸ã§ããã®ä¿®æ£ãå®äºããããWindows ãµã¤ããã¼ããã¬ã¸ã§ãã ã®ã£ã©ãªãéãã¦ãHello World ã¬ã¸ã§ãããå®è¡ãã¦ä¸ããã
Hello World ã¬ã¸ã§ãããä¿®æ£ãã¦è¨å®æ©è½ãå®è£ ãã
Hello World ã¬ã¸ã§ãããä¿®æ£ãã¦ç°å¢å¤æ°ã表示ããã§å 容ã夿´ãããHello World ã¬ã¸ã§ãããã«è¨å®æ©è½ãå®è£ ãã¦ã¿ã¾ãããã
ã¬ã¸ã§ããã®è¨å®ãã¤ã¢ãã°ã«ãªãHTMLãã¡ã¤ã«ã使ãã¾ããã¡ã¢å¸³ãªã©ã®ããã¹ãã¨ãã£ãã¿ãéããæ¬¡ã®ã³ã¼ããã³ãã¼ãã¦è²¼ãä»ãããã¡ã¤ã«åç§°ã settingsUI.html ã¨æå®ãã¦ãããã HelloWorld.gadget ãã£ã¬ã¯ããªã«ä¿åãã¾ãï¼æåã³ã¼ãã¯UTF-8ï¼ã
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<style type="text/css">
/*<![CDATA[*/
body {
width: 250px;
height: 80px;
margin: 0;
padding: 0;
}
dl {
margin: .3em .5em;
padding: 0;
}
dd {
margin-left: 20px;
}
kbd {
text-decoration: underline;
}
/*]]>*/
</style>
<script type="text/javascript">
//<![CDATA[
System.Gadget.onSettingsClosing = function(event) {
if (event.closeAction == event.Action.commit) {
var variableName = document.getElementById("envVar").value;
System.Gadget.Settings.write("variableName", variableName);
}
};
window.onload = function() {
var currentSetting = System.Gadget.Settings.read("variableName");
System.Debug.outputString("currentSetting:"+ currentSetting +"\n");
if (currentSetting != "") {
document.getElementById("envVar").value = currentSetting;
}
};
//]]>
</script>
<title>Hello, World!</title>
</head>
<body>
<fieldset>
<legend>Environment</legend>
<dl>
<dt><label for="envVar">Environment Variable (<kbd>V</kbd>):</label></dt>
<dd><input type="text" name="envVar" id="envVar" value="ProgramFiles" accesskey="V" /></dd>
</dl>
</fieldset>
</body>
</html>次ã«ãåå使ããã¬ã¸ã§ããæ¬ä½ã«ãªãHTMLãã¡ã¤ã«ï¼gadgetUI.htmlï¼ãããã¹ãã¨ãã£ãã¿ã§éããæ¬¡ã®ã³ã¼ããã³ãã¼ãã¦è²¼ãä»ãã¦ä¸æ¸ãä¿åãã¾ãã
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<style type="text/css">
/*<![CDATA[*/
body {
width: 130px;
height: 60px;
color: WindowText;
background-color: Window;
background-image: url("background.png");
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0% 0%;
margin: 0;
padding: 0;
}
div#GadgetBody {
width: 120px;
height: 50px;
margin: 5px;
text-align: center;
}
/*]]>*/
</style>
<script type="text/javascript">
//<![CDATA[
var defaultText = "Hello, World!";
var variableName = "ProgramFiles";
function setContent() {
var envPath = System.Environment.getEnvironmentVariable(variableName);
var newP = document.createElement("p");
var newText = document.createTextNode(envPath ? envPath : defaultText);
newP.appendChild(newText);
var refElement = document.getElementById("GadgetBody");
while (refElement.firstChild)
refElement.removeChild(refElement.firstChild);
refElement.appendChild(newP);
};
System.Gadget.settingsUI = "settingsUI.html";
System.Gadget.onSettingsClosed = function(event) {
if (event.closeAction == event.Action.commit) {
variableName = System.Gadget.Settings.read("variableName");
System.Debug.outputString("variableName:"+ variableName +"\n");
System.Diagnostics.EventLog.writeEntry(variableName);
setContent();
}
};
window.onload = setContent;
//]]>
</script>
<title>Hello, World!</title>
</head>
<body>
<div id="GadgetBody">
<p>Hello, World!</p>
</div>
</body>
</html>ã¬ã¸ã§ããã®ä¿®æ£ãå®äºããããWindows ãµã¤ããã¼ããã¬ã¸ã§ãã ã®ã£ã©ãªãéãã¦ãHello World ã¬ã¸ã§ãããå®è¡ãã¦ä¸ããã
注é
System.Gadget.onSettingsClosingããããã£ã«è¨å®ããããã³ãã©é¢æ°ã¯ãè¨å®æ©è½ã®ä½¿ç¨ãçµäºããéï¼ã¬ã¸ã§ããã®è¨å®ãã¤ã¢ãã°ãéãããæï¼ã«å¼ã³åºããã¾ãããã®é¢æ°ã§è¨å®æ å ±ãä¿åãã¾ããããã¦ãSystem.Gadget.onSettingsClosedããããã£ã«è¨å®ããããã³ãã©é¢æ°ã¯ãè¨å®æ©è½ã®ä½¿ç¨ãçµäºããéï¼ã¬ã¸ã§ããã®è¨å®ãã¤ã¢ãã°ãéããæï¼ã«å¼ã³åºããã¾ãããã®é¢æ°ã§å¤æ´ãããè¨å®æ å ±ãåå¾ãã¾ãã