Annotation of loncom/html/adm/jsMath/jsMath-controls.html, revision 1.1
1.1 ! albertel 1: <html>
! 2: <head>
! 3: <!--
! 4: | jsMath-controls.html
! 5: |
! 6: | Part of the jsMath package for mathematics on the web.
! 7: |
! 8: | This file handles the details of the jsMath control panels
! 9: |
! 10: | ---------------------------------------------------------------------
! 11: |
! 12: | Copyright 2004-2006 by Davide P. Cervone
! 13: |
! 14: | Licensed under the Apache License, Version 2.0 (the "License");
! 15: | you may not use this file except in compliance with the License.
! 16: | You may obtain a copy of the License at
! 17: |
! 18: | http://www.apache.org/licenses/LICENSE-2.0
! 19: |
! 20: | Unless required by applicable law or agreed to in writing, software
! 21: | distributed under the License is distributed on an "AS IS" BASIS,
! 22: | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
! 23: | See the License for the specific language governing permissions and
! 24: | limitations under the License.
! 25: -->
! 26: </head>
! 27: <body>
! 28:
! 29: <script>
! 30: var showWarning = 0;
! 31: while (!window.jsMath && !showWarning) {
! 32: try {
! 33: window.jsMath = window.parent.jsMath;
! 34: if (!window.jsMath) {throw "no jsMath";}
! 35: } catch (err) {
! 36: showWarning = 1;
! 37: //
! 38: // MSIE on Mac can't change document.domain, and 'try' won't
! 39: // catch the error (Grrr!) so don't even try for it
! 40: //
! 41: if (document.domain.match(/\..*\./) &&
! 42: (navigator.appName != 'Microsoft Internet Explorer' ||
! 43: navigator.platform != 'MacPPC' || !navigator.userProfile || !document.all)) {
! 44: try {
! 45: document.domain = document.domain.replace(/^[^.]*\./,'');
! 46: showWarning = 0;
! 47: } catch(err) {}
! 48: }
! 49: }
! 50: }
! 51:
! 52: function Warning () {
! 53: alert(
! 54: "jsMath can't open the control panel, since jsMath was not " +
! 55: "obtained from a server that is in the same domain as the " +
! 56: "page that loaded it."
! 57: );
! 58: }
! 59:
! 60: if (showWarning) {setTimeout("Warning()",1)} else {
! 61: debug = window.parent.debug; show = window.parent.show;
! 62:
! 63: jsMath.Add(jsMath.Controls,{
! 64:
! 65: loaded: 1,
! 66:
! 67: Close: function () {
! 68: this.panel.style.display = "none";
! 69: jsMath.Element("button").style.display = (this.cookie.button ? "block" : "none");
! 70: if (jsMath.document.location.protocol == 'file:') return;
! 71: for (var id in {scale:1, scaleImg:1, font:1, print:1, autofont:1, alpha:1, tex2math:1}) {
! 72: if (this.cookie[id] != this.oldCookie[id] && this.oldCookie[id] != null) {
! 73: this.loaded = 0;
! 74: jsMath.document.location.reload();
! 75: return;
! 76: }
! 77: }
! 78: },
! 79:
! 80: Main: function () {
! 81: this.oldCookie = {}; jsMath.Add(this.oldCookie,this.cookie);
! 82: this.panel.innerHTML = ""; // for MSIE on the Mac
! 83: if (jsMath.browser == 'Mozilla') {
! 84: this.panel.appendChild(document.getElementById("jsMath_panel").cloneNode(true));
! 85: } else {
! 86: this.panel.innerHTML = document.getElementById("jsMath_panel").innerHTML;
! 87: }
! 88:
! 89: jsMath.Element("_version").innerHTML = jsMath.version;
! 90:
! 91: jsMath.Element("_fontType").innerHTML =
! 92: ({tex:"TeX",
! 93: image:"Image",
! 94: symbol:"Image symbol",
! 95: unicode:"Unicode"})[this.cookie.font];
! 96:
! 97: jsMath.Element("_mailto").href =
! 98: "mailto:dpvc@union.edu?subject=Bug Report for jsMath "
! 99: + jsMath.version + " (using " + jsMath.browser
! 100: + " in " + this.cookie.font + " mode)";
! 101:
! 102: if (this.cookie.print ||
! 103: (this.cookie.font != 'image' && this.cookie.font != 'symbol'))
! 104: {jsMath.Element("_resolution").disabled = true}
! 105:
! 106: /*
! 107: * Seems to be a bug in Safari that messes up the button names
! 108: * when the page is reloaded after an option change
! 109: */
! 110: if (jsMath.browser == 'Safari') {
! 111: jsMath.Element("_resolution").value = "Hi-Res Fonts for Printing";
! 112: jsMath.Element("_opts").value = "Options";
! 113: jsMath.Element("_done").value = "Done";
! 114: }
! 115:
! 116: this.panel.style.display = "block";
! 117: this.openMain = 0;
! 118: },
! 119:
! 120: Options: function () {
! 121: this.panel.innerHTML = ""; // for MSIE on the Mac
! 122: if (jsMath.browser == 'Mozilla') {
! 123: this.panel.appendChild(document.getElementById("jsMath_options").cloneNode(true));
! 124: } else {
! 125: this.panel.innerHTML = document.getElementById("jsMath_options").innerHTML;
! 126: }
! 127: jsMath.Element("_scale").value = this.cookie.scale;
! 128: jsMath.Element("_keep").value = this.cookie.keep;
! 129: for (var id in {autofont:1, scaleImg:1, alpha:1, warn:1, button:1,
! 130: progress:1, asynch:1, blank:1, tex2math:1}) {
! 131: if (this.cookie[id]) {jsMath.Element('_'+id).checked = true}
! 132: }
! 133: var font = jsMath.document.getElementsByName("jsMath__font");
! 134: for (var i = 0; i < font.length; i++) {
! 135: if ((font[i].value == 'tex' && jsMath.nofonts) ||
! 136: ((font[i].value == 'symbol' || font[i].value == 'image') &&
! 137: jsMath.noImgFonts)) {
! 138: jsMath.Element('_'+font[i].value+"Text").style.color = "#888888";
! 139: font[i].disabled = true;
! 140: }
! 141: else if (this.cookie.font == font[i].value) {font[i].checked = true}
! 142: }
! 143: if (jsMath.noImgFonts) {
! 144: jsMath.Element("_alphaText").style.color = "#888888";
! 145: jsMath.Element("_alpha").disabled = true;
! 146: jsMath.Element("_scaleImg").disabled = true;
! 147: } else if (jsMath.Browser.imgScale != 1) {
! 148: jsMath.Element("_alphaText").style.color = "#888888";
! 149: jsMath.Element("_alpha").disabled = true;
! 150: }
! 151: if (jsMath.tex2math.Convert) {
! 152: jsMath.Element("_tex2mathRow").style.display = '';
! 153: }
! 154:
! 155: /*
! 156: * Seems to be a bug in Safari that messes up the button names
! 157: * when the page is reloaded after an option change
! 158: */
! 159: if (jsMath.isSafari) {
! 160: jsMath.Element("_back").value = "Back";
! 161: jsMath.Element("_done").value = "Done";
! 162: }
! 163:
! 164: this.panel.style.display = "block";
! 165: },
! 166:
! 167: SaveOptions: function (close) {
! 168: this.cookie.scale = jsMath.Element("_scale").value;
! 169: var font = jsMath.document.getElementsByName("jsMath__font");
! 170: for (var i = 0; i < font.length; i++)
! 171: {if (font[i].checked) {this.cookie.font = font[i].value}}
! 172: for (var id in {autofont:1, scaleImg:1, alpha:1, warn:1, button:1,
! 173: progress:1, asynch:1, blank:1, tex2math:1}) {
! 174: if (this.cookie[id] != null) {
! 175: this.cookie[id] = jsMath.Element('_'+id).checked ? 1: 0;
! 176: }
! 177: }
! 178: this.cookie.keep = jsMath.Element("_keep").value;
! 179: this.SetCookie(1);
! 180: if (close) {this.Close()} else {this.Main()}
! 181: },
! 182:
! 183: PrintResolution: function () {
! 184: this.cookie.print = 1;
! 185: this.SetCookie(1);
! 186: this.Close();
! 187: },
! 188:
! 189: CheckVersion: function () {
! 190: jsMath.Script.delayedLoad('http://www.math.union.edu/locate/jsMath/jsMath/jsMath-version-check.js');
! 191: },
! 192:
! 193: NoAuto: function () {jsMath.Element("_autofont").checked = false}
! 194:
! 195: });
! 196:
! 197: }
! 198: </script>
! 199:
! 200: <!------------------------------------------------------------>
! 201:
! 202: <div id="jsMath_panel">
! 203: <div style="text-align:center; margin:1em 2em">
! 204: <b style="font-size:large">jsMath v<span ID="jsMath__version"></span></b><br/>
! 205: <small>(<span id="jsMath__fontType">type</span> fonts)</small>
! 206: <p>
! 207: <table border="0" cellspacing="0" cellpadding="0" style="margin:0px">
! 208: <tr><td align="center"><table border="0" cellspacing="0" cellpadding="0">
! 209: <tr><td align="center" colspan="3">
! 210: <table border="0" cellspacing="0" cellpadding="0">
! 211: <tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/users/quickstart.html">Quick Start</a></td></tr>
! 212: <tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/users/printing.html">Printing Issues</a></td></tr>
! 213: <tr><td height="5"></td></tr>
! 214: <tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath">Home Page</a></td></tr>
! 215: <tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/users/">Documentation</a></td></tr>
! 216: <tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/download/jsMath-fonts.html">Download Fonts</a></td></tr>
! 217: <tr><td height="5"></td></tr>
! 218: <tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/bugs.html">Known Bugs</a></td></tr>
! 219: <tr><td align="left">• <a id="jsMath__mailto" href="mailto:dpvc@union.edu?subject=jsMath Bug Report">Report a Bug</a></td></tr>
! 220: <tr><td height="5"></td></tr>
! 221: <tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/jsMath/COPYING.txt">License</a></td></tr>
! 222: </table>
! 223: </td></tr>
! 224: <tr><td style="height:1em"></td></tr>
! 225: <tr><td align="center" colspan="3">
! 226: <input type="button" id="jsMath__resolution" value="Hi-Res Fonts for Printing"
! 227: style="width:17em" onclick="jsMath.Controls.PrintResolution()" />
! 228: </td></tr>
! 229: <tr><td height="1"></td></tr>
! 230: <tr><td align="center" colspan="3">
! 231: <input type="button" value="Check for jsMath Updates"
! 232: style="width:17em" onclick="jsMath.Controls.CheckVersion()" />
! 233: </td></tr>
! 234: <tr><td height="5"></td></tr>
! 235: <tr><td align="left">
! 236: <input type="button" value="Options" id="jsMath__opts" style="width:8em" onclick="jsMath.Controls.Options()" />
! 237: </td><td>
! 238:
! 239: </td><td align="right">
! 240: <input type="button" value="Done" id="jsMath__done" style="width:8em" onclick="jsMath.Controls.Close()" />
! 241: </td></tr>
! 242: </table></td></tr>
! 243: <tr><td height="7"></td></tr>
! 244: <tr><td align="center" colspan="3" style="width:20em; font-size:x-small">
! 245: <i>Click on the jsMath floating button or <nobr>ALT-click</nobr> on a
! 246: mathematical expression to get this dialog at any time.</i>
! 247: </td></tr>
! 248: </table></p>
! 249: </div>
! 250: </div>
! 251:
! 252: <!------------------------------------------------------------>
! 253:
! 254: <div id="jsMath_options">
! 255: <div style="text-align:center; padding:.75em 1.4em;">
! 256: <b style="font-size:large">jsMath Options</b> <small>[<a target="_blank" href="http://www.math.union.edu/locate/jsMath/users/help.html">help</a>]</small>
! 257: <p>
! 258: <form action="javascript:" style="margin:0px;">
! 259: <table border="0" cellspacing="0" cellpadding="0" style="text-align:left">
! 260:
! 261: <tr><td>Scale all mathematics to <input type="text" id="jsMath__scale" value="100" size="3" />%</td></tr>
! 262:
! 263: <tr><td height="5"></td></tr>
! 264:
! 265: <tr><td><input type="radio" name="jsMath__font" value="tex" onclick="jsMath.Controls.NoAuto()" />
! 266: <span id="jsMath__texText">Use native TeX fonts</span>
! 267: <small>(<a target="_blank" href="http://www.math.union.edu/locate/jsMath/download/jsMath-fonts.html">download</a>)</small>
! 268: </td></tr>
! 269: <tr><td><input type="radio" name="jsMath__font" value="image" onclick="jsMath.Controls.NoAuto()" />
! 270: <span id="jsMath__imageText">Use image fonts
! 271: (<input type="checkbox" id="jsMath__scaleImg" value="1" /> scalable)</span></td></tr>
! 272: <tr><td><input type="radio" name="jsMath__font" value="symbol" onclick="jsMath.Controls.NoAuto()" />
! 273: <span id="jsMath__symbolText">Use images for symbols only</span></td></tr>
! 274: <tr><td height="2"></td></tr>
! 275: <tr><td><input type="radio" name="jsMath__font" value="unicode" onclick="jsMath.Controls.NoAuto()" />
! 276: Use native Unicode fonts</td></tr>
! 277:
! 278: <tr><td height="8"></td></tr>
! 279:
! 280: <tr><td><input type="checkbox" id="jsMath__autofont" value="1" /> Autoselect best font</td></tr>
! 281: <tr><td><input type="checkbox" id="jsMath__alpha" value="1" /> <span id="jsMath__alphaText">Use image alpha channels</span></td></tr>
! 282: <tr><td><input type="checkbox" id="jsMath__warn" value="1" /> Show font warnings</td></tr>
! 283:
! 284: <tr><td height="8"></td></tr>
! 285:
! 286: <tr><td><input type="checkbox" id="jsMath__progress" value="1" /> Show progress messages</td></tr>
! 287: <tr><td><input type="checkbox" id="jsMath__asynch" value="1" /> Force asynchronous processing</td></tr>
! 288: <tr><td><input type="checkbox" id="jsMath__blank" value="1" /> Don't show page until complete</td></tr>
! 289: <tr><td><input type="checkbox" id="jsMath__button" value="1" /> Show jsMath button</td></tr>
! 290:
! 291: <tr><td height="8"></td></tr>
! 292:
! 293: <tr id="jsMath__tex2mathRow" STYLE="display:none"><td><input type="checkbox" id="jsMath__tex2math" value="1" /> Enable <code>tex2math</code> plug-in</td></tr>
! 294:
! 295: <tr><td height="8"></td></tr>
! 296:
! 297: <tr><td>Save settings for
! 298:
! 299: <select id="jsMath__keep">
! 300: <option value="0D">this session only
! 301: <option value="1D">1 day
! 302: <option value="2D">2 days
! 303: <option value="3D">3 days
! 304: <option value="1W">1 week
! 305: <option value="2W">2 weeks
! 306: <option value="1M">1 month
! 307: <option value="2M">2 months
! 308: <option value="3M">3 months
! 309: <option value="6M">6 months
! 310: <option value="1Y">1 year
! 311: <option value="5Y">5 years
! 312: </select>
! 313:
! 314: </td></tr>
! 315:
! 316: <tr><td height="13"></td></tr>
! 317:
! 318: <tr><td align="center">
! 319: <table border="0" cellspacing="0" cellpadding="0" width="100%">
! 320: <tr>
! 321: <td align="left">
! 322: <input type="button" value="Back" id="jsMath__back" style="width:8em" onclick="jsMath.Controls.SaveOptions(0)" />
! 323:
! 324: </td>
! 325: <td align="right">
! 326: <input type="button" value="Done" id="jsMath__done" style="width:8em" onclick="jsMath.Controls.SaveOptions(1)" />
! 327: </td>
! 328: </tr>
! 329: </table>
! 330: </td></tr>
! 331:
! 332: </table>
! 333: </form>
! 334: </div>
! 335: </div>
! 336: </p>
! 337:
! 338: <!------------------------------------------------------------>
! 339:
! 340: <script>
! 341: if (!showWarning) {jsMath.Controls.Main()}
! 342: </script>
! 343: <script>
! 344: if (window.jsMath) {
! 345: jsMath.Script.endLoad();
! 346: jsMath.Message.doClear();
! 347: }
! 348: </script>
! 349: </body>
! 350: </html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>