This is an old revision of the document!
The Theme Library allows you to use pre-defined themes within your projects. These themes can be created and shared by anyone.
Note: Currently sharing is a manual process. We are working on ways to allow full sharing directly within guiDesigner. But for now, you need to share the theme GUI file and all images manually.
There are two ways to access the Theme Library within guiDesigner:
guiDesigner comes with some built-in themes. To learn more about the inbuilt themes click here.
You can create your own library files for use in future projects, or to share with others. Basically, a theme library file is just a specially formatted GUI File.
The theme library name and author details are grabbed from the GUI File Project Properties. The project name is used as the theme name, whilst the author is used as the theme's author also.
Any themes defined in the project will be visible in the Theme Library file, using the theme details to render the preview. You can also create a custom preview for a particular theme by creating a subpage and naming it 'theme_<themename>', where <themename> is the actual name of the theme definition you are creating the preview for. This allows you to show how a button theme looks with specific text, an overlay image, or amongst other objects such as a background image, etc. Anything you place on this subpage will be shown on the theme preview window within the Theme Library. If this subpage doesn't exist, the Theme Library will draw the theme on the appropriate object based on the theme details alone.
You can also create 'groups' within the theme library file. Groups allow you to create a collection of GUI Objects which can be dragged and dropped in two ways:
Good examples of use cases for the second method (dragging objects onto a page) are an Arrow Pad (containing left, right, up and down arrows, as well as an enter button) and a numpad (numbers 0 to 9, an asterix and hash).
To create a group in your theme library file, simply create a subpage called 'group_<groupname>', where <groupname> is the name you want to give your group. For example, 'group_arrowpad'. This will then show up as a group item within Theme Library, allowing users to simply drag the group onto a page in their project and have all the objects automatically added.
Once you have created your guiDesigner file for your Theme Library entry, you need to save a copy of it into the location where guiDesigner is installed, such as:
C:\Program Files (x86)\CommandFusion\themes
Create a new folder for each theme, and the first .gui file that is found in that directory will be loaded into the Theme Manager when you next launch guiDesigner.
You can also include a icon.png
file in that directory, and it will be used as the icon image in front of the theme name within the Theme Library.
This icon file should be 16×16 pixels. Transparency is supported.