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:
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 a single interaction onto a page/subpage. A good example of this is 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 option within Theme Library, allowing users to simply drag the group onto a page in their project and have all the objects automatically added.