123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <!DOCTYPE HTML>
- <html>
- <!--
- Copyright 2010 The Closure Library Authors. All Rights Reserved.
- Use of this source code is governed by the Apache License, Version 2.0.
- See the COPYING file for details.
- -->
- <head>
- <title>goog.ui.Gauge</title>
- <link rel="stylesheet" href="css/demo.css">
- <style>
- .type { font-size:14px; font-weight:bold; font-family:arial; background-color:#f7f7f7; text-align:center }
- </style>
- <script src="../base.js"></script>
- <script>
- goog.require('goog.dom');
- goog.require('goog.graphics');
- goog.require('goog.graphics.Font');
- goog.require('goog.graphics.LinearGradient');
- goog.require('goog.graphics.SolidFill');
- goog.require('goog.graphics.Stroke');
- goog.require('goog.ui.Gauge');
- goog.require('goog.ui.GaugeTheme');
- </script>
- <script>
- var CustomGaugeTheme = function() {
- }
- goog.inherits(CustomGaugeTheme, goog.ui.GaugeTheme);
- CustomGaugeTheme.prototype.getInternalBorderFill = function(cx, cy, r) {
- return new goog.graphics.SolidFill("#8080ff");
- }
- CustomGaugeTheme.prototype.getExternalBorderFill = function(cx, cy, r) {
- return new goog.graphics.SolidFill("#8080c0");
- }
- CustomGaugeTheme.prototype.getInternalBorderStroke = function() {
- return new goog.graphics.Stroke(2, "#ffff00");
- }
- CustomGaugeTheme.prototype.getMajorTickStroke = function() {
- return new goog.graphics.Stroke(2, "#ffffff");
- }
- CustomGaugeTheme.prototype.getHingeStroke = function() {
- return new goog.graphics.Stroke(1, "#00a000");
- }
- CustomGaugeTheme.prototype.getHingeFill = function(cx, cy, r) {
- return new goog.graphics.SolidFill("#00c000");
- }
- CustomGaugeTheme.prototype.getNeedleStroke = function() {
- return new goog.graphics.Stroke(1, "#008040");
- }
- CustomGaugeTheme.prototype.getNeedleFill = function(cx, cy, r) {
- return new goog.graphics.SolidFill("#008040", 0.7);
- }
- var interactiveGauge;
- function setupGauges() {
- var gauge = new goog.ui.Gauge(120, 120);
- gauge.setValue(33);
- gauge.render(document.getElementById('basic'));
- var gauge = new goog.ui.Gauge(200, 200);
- gauge.addBackgroundColor(50, 60, goog.ui.Gauge.RED);
- gauge.addBackgroundColor(35, 50, goog.ui.Gauge.YELLOW);
- gauge.addBackgroundColor(15, 25, goog.ui.Gauge.GREEN);
- gauge.setMinimum(15);
- gauge.setMaximum(60);
- gauge.setTicks(3, 6);
- gauge.setValue(40);
- gauge.setTitleBottom("RPM");
- gauge.render(document.getElementById('colors'));
- interactiveGauge = new goog.ui.Gauge(300, 200);
- interactiveGauge.addBackgroundColor(0, 30, goog.ui.Gauge.RED);
- interactiveGauge.addBackgroundColor(75, 90, goog.ui.Gauge.YELLOW);
- interactiveGauge.addBackgroundColor(90, 100, goog.ui.Gauge.RED);
- interactiveGauge.setTitleTop("CPU Utilization");
- interactiveGauge.setTicks(5, 2);
- interactiveGauge.setMajorTickLabels(['Idle', '20%', '40%', '60%', '80%', 'Argh']);
- setValue();
- interactiveGauge.render(document.getElementById('interactive'));
- var gauge = new goog.ui.Gauge(200, 200);
- gauge.setMinimum(-30);
- gauge.setMaximum(30);
- gauge.setTicks(10, 0);
- gauge.setValue(20);
- var theme = new CustomGaugeTheme();
- gauge.setTheme(theme);
- gauge.render(document.getElementById('customcolors'));
- }
- function setValue() {
- var sv = document.getElementById("v1").value
- var v = parseInt(sv, 10);
- if (isNaN(v)) {
- v = 0;
- }
- interactiveGauge.setValue(v, v + "%");
- }
- </script>
- </head>
- <body>
- <h1>goog.ui.Gauge</h1>
- <h2>Note: This component requires vector graphics support</h2>
- <table border="1">
- <tr valign="top">
- <td class="type">
- Basic
- </td>
- <td class="type">
- Background colors, title. custom ticks
- </td>
- <td class="type">
- Value change, formatted value, tick labels
- </td>
- <td class="type">
- Custom colors
- </td>
- </tr>
- <tr>
- <td style="width: 120px">
- <span id="basic"></span>
- </td>
- <td style="width: 200px">
- <span id="colors"></span>
- </td>
- <td style="width: 300px">
- <span id="interactive"></span>
- <center>
- <input type="text" size="3" value="22" id="v1" />
- <input type="button" onclick="setValue()" value="Set" />
- </center>
- </td>
- <td style="width: 200px">
- <span id="customcolors"></span>
- </td>
- </tr>
- </table>
- <script>
- setupGauges();
- </script>
- </body>
- </html>
|