109 lines
11 KiB
HTML
109 lines
11 KiB
HTML
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 31. Creating original themes</title><link rel="stylesheet" type="text/css" href="manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.0"><link rel="home" href="index.html" title="JpGraph Manual"><link rel="up" href="pt07.html" title="Part VII. Theme Class"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 31. Creating original themes</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center">Part VII. Theme Class</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="chapter" title="Chapter 31. Creating original themes"><div class="titlepage"><div><div><h2 class="title"><a name="id2619583"></a>Chapter 31. Creating original themes</h2></div></div></div>
|
||
|
||
<p>You can create an original theme class yourself.
|
||
You can easily create new theme classes by extending the 'Theme' class and adding your own settings.
|
||
</p>
|
||
<p>Let's say that you like 'AquaTheme' but want to make some changes.
|
||
In 'AquaTheme', the y axis and y scale are not displayed. To change these settings and to display both, you can use the following. However, it can be time-consuming to add these lines to each graph individually.
|
||
</p>
|
||
<p>
|
||
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
|
||
2
|
||
3
|
||
4
|
||
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-inlinetags"><?php</span><span class="hl-code">
|
||
</span><span class="hl-var">$graph</span><span class="hl-code">-></span><span class="hl-identifier">yaxis</span><span class="hl-code">-></span><span class="hl-identifier">HideLine</span><span class="hl-brackets">(</span><span class="hl-reserved">false</span><span class="hl-brackets">)</span><span class="hl-code">;
|
||
</span><span class="hl-var">$graph</span><span class="hl-code">-></span><span class="hl-identifier">yaxis</span><span class="hl-code">-></span><span class="hl-identifier">HideTicks</span><span class="hl-brackets">(</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-brackets">)</span><span class="hl-code">;
|
||
</span><span class="hl-inlinetags">?></span></pre></td></tr></table></div><p>
|
||
</p>
|
||
<p>It may be easier to create a new theme based on the original but which has some different settings. Lets create 'MyAquaTheme'.
|
||
You should put the new theme class file in the 'Theme' folder, This is where all theme classes are kept.
|
||
</p>
|
||
<p>At first, create a file at Themes/MyAquaTheme.class.php.
|
||
The code for 'MyAquaTheme' class is the following.
|
||
</p>
|
||
<p>
|
||
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
|
||
2
|
||
3
|
||
4
|
||
5
|
||
6
|
||
7
|
||
8
|
||
9
|
||
10
|
||
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-inlinetags"><?php</span><span class="hl-code">
|
||
</span><span class="hl-reserved">class</span><span class="hl-code"> </span><span class="hl-identifier">MyAquaTheme</span><span class="hl-code"> </span><span class="hl-reserved">extends</span><span class="hl-code"> </span><span class="hl-identifier">AquaTheme</span><span class="hl-code">
|
||
</span><span class="hl-brackets">{</span><span class="hl-code">
|
||
</span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">SetupGraph</span><span class="hl-brackets">(</span><span class="hl-var">$graph</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
|
||
</span><span class="hl-identifier">parent</span><span class="hl-code">::</span><span class="hl-identifier">SetupGraph</span><span class="hl-brackets">(</span><span class="hl-var">$graph</span><span class="hl-brackets">)</span><span class="hl-code">;
|
||
</span><span class="hl-var">$graph</span><span class="hl-code">-></span><span class="hl-identifier">yaxis</span><span class="hl-code">-></span><span class="hl-identifier">HideLine</span><span class="hl-brackets">(</span><span class="hl-reserved">false</span><span class="hl-brackets">)</span><span class="hl-code">;
|
||
</span><span class="hl-var">$graph</span><span class="hl-code">-></span><span class="hl-identifier">yaxis</span><span class="hl-code">-></span><span class="hl-identifier">HideTicks</span><span class="hl-brackets">(</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-brackets">)</span><span class="hl-code">;
|
||
</span><span class="hl-brackets">}</span><span class="hl-code">
|
||
</span><span class="hl-brackets">}</span><span class="hl-code">
|
||
</span><span class="hl-inlinetags">?></span></pre></td></tr></table></div><p>
|
||
</p>
|
||
<p>When redefining a method of parent class, please call the parent method.
|
||
In this way, all settings of the parent class method are applied and you can add the original settings.
|
||
Font, x axis, y axis colors etc are all defined as class properties. The following code shows how to change these settings.
|
||
</p>
|
||
<p>
|
||
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
|
||
2
|
||
3
|
||
4
|
||
5
|
||
6
|
||
7
|
||
8
|
||
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-inlinetags"><?php</span><span class="hl-code">
|
||
</span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">__construct</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
|
||
</span><span class="hl-var">$this</span><span class="hl-code">-></span><span class="hl-identifier">font_color</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">#009900</span><span class="hl-quotes">'</span><span class="hl-code">;
|
||
</span><span class="hl-var">$this</span><span class="hl-code">-></span><span class="hl-identifier">background_color</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">#EEFFDD</span><span class="hl-quotes">'</span><span class="hl-code">;
|
||
</span><span class="hl-var">$this</span><span class="hl-code">-></span><span class="hl-identifier">axis_color</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">#00CC00</span><span class="hl-quotes">'</span><span class="hl-code">;
|
||
</span><span class="hl-var">$this</span><span class="hl-code">-></span><span class="hl-identifier">grid_color</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">#33CC33</span><span class="hl-quotes">'</span><span class="hl-code">;
|
||
</span><span class="hl-brackets">}</span><span class="hl-code">
|
||
</span><span class="hl-inlinetags">?></span></pre></td></tr></table></div><p>
|
||
</p>
|
||
<p>You can set four properties, $font_color, $background_color, $axs_color and $grid_color.
|
||
You can also change values individually.
|
||
</p>
|
||
<p>
|
||
</p><div class="hl-main"><table class="hl-table" width="100%"><tr><td class="hl-gutter" align="right" valign="top"><pre>1
|
||
2
|
||
3
|
||
4
|
||
5
|
||
6
|
||
7
|
||
8
|
||
9
|
||
10
|
||
11
|
||
12
|
||
13
|
||
14
|
||
15
|
||
16
|
||
17
|
||
</pre></td><td class="hl-main" valign="top"><pre><span class="hl-inlinetags"><?php</span><span class="hl-code">
|
||
</span><span class="hl-reserved">class</span><span class="hl-code"> </span><span class="hl-identifier">MyAquaTheme</span><span class="hl-code"> </span><span class="hl-reserved">extends</span><span class="hl-code"> </span><span class="hl-identifier">AquaTheme</span><span class="hl-code">
|
||
</span><span class="hl-brackets">{</span><span class="hl-code">
|
||
</span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">__construct</span><span class="hl-brackets">(</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
|
||
</span><span class="hl-var">$this</span><span class="hl-code">-></span><span class="hl-identifier">font_color</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">#009900</span><span class="hl-quotes">'</span><span class="hl-code">;
|
||
</span><span class="hl-var">$this</span><span class="hl-code">-></span><span class="hl-identifier">background_color</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">#EEFFDD</span><span class="hl-quotes">'</span><span class="hl-code">;
|
||
</span><span class="hl-var">$this</span><span class="hl-code">-></span><span class="hl-identifier">axis_color</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">#00CC00</span><span class="hl-quotes">'</span><span class="hl-code">;
|
||
</span><span class="hl-var">$this</span><span class="hl-code">-></span><span class="hl-identifier">grid_color</span><span class="hl-code"> = </span><span class="hl-quotes">'</span><span class="hl-string">#33CC33</span><span class="hl-quotes">'</span><span class="hl-code">;
|
||
</span><span class="hl-brackets">}</span><span class="hl-code">
|
||
|
||
</span><span class="hl-reserved">function</span><span class="hl-code"> </span><span class="hl-identifier">SetupGraph</span><span class="hl-brackets">(</span><span class="hl-var">$graph</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
|
||
</span><span class="hl-identifier">parent</span><span class="hl-code">::</span><span class="hl-identifier">SetupGraph</span><span class="hl-brackets">(</span><span class="hl-var">$graph</span><span class="hl-brackets">)</span><span class="hl-code">;
|
||
</span><span class="hl-var">$graph</span><span class="hl-code">-></span><span class="hl-identifier">yaxis</span><span class="hl-code">-></span><span class="hl-identifier">HideLine</span><span class="hl-brackets">(</span><span class="hl-reserved">false</span><span class="hl-brackets">)</span><span class="hl-code">;
|
||
</span><span class="hl-var">$graph</span><span class="hl-code">-></span><span class="hl-identifier">yaxis</span><span class="hl-code">-></span><span class="hl-identifier">HideTicks</span><span class="hl-brackets">(</span><span class="hl-reserved">false</span><span class="hl-code">,</span><span class="hl-reserved">false</span><span class="hl-brackets">)</span><span class="hl-code">;
|
||
</span><span class="hl-brackets">}</span><span class="hl-code">
|
||
</span><span class="hl-brackets">}</span><span class="hl-code">
|
||
</span><span class="hl-inlinetags">?></span></pre></td></tr></table></div><p>
|
||
</p>
|
||
</div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"><a accesskey="u" href="pt07.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
|