DigiGuide 7.0 and onwards scheme files
From DigiGuide 7.0 and onwards scheme files are XML files. The basic structure is quite simple. Each element on the DigiGuide display has fonts, colours and metrics associated with it. Additionally, schemes can have images associated with them, colours based on other colours and measurements based on font sizes.
Sample: Text link
Here's the element for a text link.
<element id="text"> <colors> <color id="text" sameas="base-object.text" /> <color id="text-link" color="#8d0766" /> <color id="text-disabled" color="#808080" /> <color id="text-hover" color="#1d3195" /> </colors> <fonts> <font id="text" weight="400" /> <font id="text-link" weight="400" underline="1"/> <font id="text-link-hover" weight="400" underline="1" /> </fonts> </element>
Note that the text is set the "same as" another element. When using "sameas" we need to address the element using its full name. Here's the element for base-object:
<element id="base-object"> <colors> <color id="light-background" color="#fcfcfe" /> <color id="text" color="black" /> </colors> </element>
Also from the "text" element notice that a font name and size have not been used. This is because the size and name of the font are inherited from the main document. Here's the main scheme document tag:
<digiguide-scheme wantdebug="1" base-font-name="tahoma" base-font-size="10" base-font-weight="400" >
As you can see we specify the font name, size and weight used in this scheme.
Elements in detail
On screen elements do not stand on their own. They contain other elements. The hierarchy of elements can be seen by placing the cursor over the main display and pressing F9. This will dump to the console and the log file the full name of the element below the cursor. For example, if you place the mouse cursor over a programme in the grid you will see the following:
Scheme ID (main.view.planner.programmebar.programme)
Scheme Name (digiguide.view.planner.programmebar.programme)
The "scheme ID" is the name based on the element and all of its containers. So, from this we can see that the "programme" is contained by the "programmebar" which is contained by the "planner" and so forth.
The "scheme name" is slightly different. Where possible we have given each element on screen a unique name. This allows us, and you, to address and alter the scheme entries for each element individually. In reality it's rarely needed but it does allow far more flexibility than was previously possible. Here are a couple of examples that alter individually named elements without affecting anything else.
To alter the colour of the progress bar on the update popup without changing other progress bars:
<element id="update-download"> <colors> <color id="progressbar.progress" color="red" /> </colors> </element>
To change the colour of the "moveup" link on the customise columns popup:
<element id="customise-columns"> <colors> <color id="moveup.text-link" color="yellow" /> </colors> </element>
An extra function can be seen if you press SHIFT+F9. This will list everything in the current hierarchy.
Over time we will add unique names for everything within DigiGuide thereby giving you complete control over fonts and colours used throughout.
Old DigiGuide schemes are upgraded on the fly using a template XML file. The file is called "upgrade.xml" and can be found in the schemes folder. If you take a look you'll see that old scheme entry names are replaced with their colour values. Fonts and metrics are not upgraded.
Large fonts now uses the font addition mechanism. Pressing F11 in DigiGuide still toggles large fonts but now it just uses the addition method (CTRL++ and CTRL+-).
Packaging and naming schemes
Because schemes can now have images associated with them we need to package the scheme into a single file. We do this using a tool such as WinZip. Suppose we have a scheme called "My Scheme". We would create a folder called "My Scheme" and place the "scheme.xml" and any associated scheme images in the folder. Then, using WinZip we would right-click on the folder and select "WinZip | Add to My Scheme.zip". When done we would rename the zip file to "My Scheme.dgscheme"
When DigiGuide looks for a scheme it first checks for a folder for the named scheme. It then checks the .dgscheme files. Folders take precedence so creating/editing schemes should be easier.
The name of a XML scheme is stored within the scheme file itself. At the beginning of the scheme there should be an entry similar to this:
<info> <name>Extreme XP</name> <author>Russ Freeman</author> <author-email>firstname.lastname@example.org</author-email> <update-url></update-url> <copyright>GipsyMedia Limited</copyright> </info>
Currently, only the "name" is used.
scheme.xml from the "extreme xp" scheme
extremexp.dgscheme - ZIP file renamed to dgscheme for "extreme xp" scheme