C. Customizing think-cell
This chapter describes how to customize think-cell, i.e., how to change default colors and other default properties; this is done via think-cell's style files, which are treated in the first four sections.
The fifth section, C.5 Setting a default agenda slide layout, explains how to create custom Agenda slide layouts, and the sixth, C.6 Ribbon customization, explains how to customize think-cell's user interface using PowerPoint's Ribbon customization options.
The following properties can be changed using style files:
-
The list of available colors and patterns (see 3.8.1 Color and fill).
-
The list of available color schemes (see 3.8.2 Color scheme).
-
The colors of Harvey ball and checkbox (see 20.2 Checkbox and Harvey ball).
-
Predefined slide layouts for placing charts (see D.7 Predefining slide layouts for placing charts). These slide layouts will be shown as thumbnails in the top left corner of the slide view when a chart of the relevant type is selected for insertion or dragged on the slide, and clicking on, or dragging it to, one of the rectangular areas in the thumbnail will place the chart with that position and size. This can be used together with slide templates to ensure consistent positioning of charts.
-
The option to use a fiscal calendar in Gantt charts (see 13.1.2 Scale display).
- The list of available lines styles (see 3.8.6 Line style).
- The list of available markers for line charts and scatter charts (see 3.8.9 Marker shape).
The first three sections describe creating and loading a style file and explain how to deploy it in an organization. An understanding of these tasks is required in any case. Afterwards, you may either follow the C.4 Style file tutorial to create your own style file or go through the format reference in D. Style file format.
Contents
C.1 Creating a think-cell style
Simple modifications to an existing style file can be made using any text editor. A new think-cell style file should be created using a dedicated XML editor. It will support you by automatically checking for errors and making suggestions on how to solve them. Our recommendation for such an editor and tips for setting it up is described at
KB0191: Recommended setup for editing think-cell style files
A dedicated XML editor will typically highlight errors in your document, and with a keyboard shortcut such as Ctrl-Spacebar you can trigger auto completion: the editor will offer a choice of tags, attributes or values applicable to the current context (position of the text cursor). If you move the mouse over highlighted errors, you will get a tooltip with a detailed explanation of the error.
Several sample style files are delivered together with think-cell and you can find them in the subdirectory styles
of the think-cell installation directory. First, find out the location of the installation directory. It is shown when you click About in the Tools menu.
Open this directory and go to the subdirectory styles
, e.g.,
C:\Program Files (x86)\think-cell\styles
Open the file generic style.xml
. It should look like this:
The editor automatically checks your file for errors. You can display an error list by clicking on View > Error List:
Make sure that there are no warnings or errors indicated before you save an edited style file.
Of course, any other editor that supports XML also works. The file needs to be saved with an .xml
extension.
C.2 Loading style files
To load a style file, choose Load Style File... from the menu Tools. In the dialog, navigate to the location of the style file, choose the file and click Open. It is used for any new charts in the current presentation.
For example, after you load the sample style file example_style_complex.xml
from the styles
directory in think-cell’s installation directory, the color and color scheme property controls will include customized items.
If you want to apply a style’s colors or color schemes in existing charts, you need to do so manually.
C.2.1 Loading style files programmatically
You can also load style files programmatically, for example as part of a workflow that prepares new or updated templates. The greater precision of API calls also enables to specify additional options when loading a style file, like targeting a specific custom layout or even restricting the style to a rectangular region of a custom layout, as well as removing them from custom layouts and inspecting the name of the style loaded into a master or custom layout.
think-cell's API is integrated into the Office Automation model, so it can be accessed from any language with which you can program Office, such as Visual Basic for Applications (VBA) or C#. See F.1 Getting started for detailed instructions.
Suppose you have a custom layout that uses different background colors for the left and right side of the slide. The right side matches the background of the rest of your presentation, so it is fine that the style set in the master applies here. However, the left side uses a different background, for which a modified style is appropriate. In this situation, you would use LoadStyle
to set one style file for the whole presentation. Next, you would use LoadStyleForRegion
to set a different style for only the left side of the appropriate custom layout.
The following sections describe the available API calls. They are methods of the think-cell add-in object in PowerPoint.
C.2.2 LoadStyle
C.2.2.1 Signature
VBA
C#
C.2.2.2 Description
This function loads the style contained in the style file at FileName
into a master or custom layout, specified via the parameter CustomLayoutOrMaster
.
CustomLayoutOrMaster
must be a CustomLayout
or Master
.
When applied to a custom layout where a regional style has been set (see C.2.3 LoadStyleForRegion), the regional style will be removed. This means that you need to load the style that should apply on the rest of the slide using this function before you load a style restricted to a region.
When applied to a master, any styles loaded into the custom layouts contained in that master, regional and unrestricted, will be removed. This means that you need to load the style that should apply to custom layouts without a specific style into the master before loading a style applying to a specific custom layout using this function.
C.2.2.3 Example
To use this sample, add the following code to a module in PowerPoint (see F.1.1 Visual Basic for Applications for details).
C.2.3 LoadStyleForRegion
C.2.3.1 Signature
VBA
C#
C.2.3.2 Description
This function loads the style file at FileName
into the custom layout CustomLayout
and restricts it to a region given by Left
, Top
, Width
, Height
. On the rest of the slide, the style loaded into the master, or the one previously loaded into the custom layout with LoadStyle
applies.
The parameters Left
, Top
, Width
, Height
are given in PowerPoint points. Left
and Top
specify the distance of the left and top edges of the region from the left and top edges of the custom layout, respectively. Usually you will set them as fractions of the total slide height and width. For example, for a region covering the right two thirds of the custom layout, you would set
You can also manually add a shape to a slide or custom layout, query its properties Left
, Top
, Width
, Height
programmatically and use the values with LoadStyleForRegion
to restrict the style to the same region covered by the shape.
think-cell supports a maximum of two styles per custom layout. One is set with LoadStyle
and covers everything not restricted to a region, the other is set with LoadStyleForRegion
.
C.2.3.3 Example
To use this sample, add the following code to a module in PowerPoint (see F.1.1 Visual Basic for Applications for details).
C.2.4 RemoveStyles
C.2.4.1 Signature
VBA
C#
C.2.4.2 Description
This function removes all styles from the custom layout CustomLayout
. Afterwards, the style loaded into the master applies. Potentially, there can be a style loaded into the custom layout and another style restricted to a specific region of the custom layout. As RemoveStyles
removes all styles, both will be removed. The style loaded into a master cannot be removed, as there always needs to be a valid style associated with a master. It can be overwritten with a different style file.
C.2.4.3 Example
To use this sample, add the following code to a module in PowerPoint (see F.1.1 Visual Basic for Applications for details).
C.2.5 GetStyleName
Supported in think-cell 13 and later.
C.2.5.1 Signature
VBA
C#
C.2.5.2 Description
This function returns the name of the style loaded into the CustomLayout
or Master
or CustomLayoutOrMaster
. This is the same name that is specified in the name
attribute of the <style>
element of the corresponding style file (see D.2.1 style).
It returns an empty string when no style is loaded into CustomLayoutOrMaster
. Note that a master always has a style loaded into it when think-cell is active and that the name of a style cannot be empty.
If a name is returned for a CustomLayout
, it is the name of the style loaded into it with C.2.2 LoadStyle, not of the one loaded with C.2.3 LoadStyleForRegion, if any.
C.2.5.3 Example
To use this sample, add the following code to a module in PowerPoint (see F.1.1 Visual Basic for Applications for details).
C.3 Deploying think-cell styles
Load Style File... in the Tools menu in the think-cell toolbar loads a style file into the master slide of the current presentation. When the presentation is distributed as a PowerPoint template, the think-cell style is implicitly distributed as well. Switching between styles is accomplished by switching between PowerPoint templates. It should not be necessary to give a think-cell style file to individual users.
We recommend to distribute your think-cell style together with your PowerPoint template. Typically both are needed to implement your corporate design and deploying them as one is the easiest option for users.
If it is not possible to follow our recommendation to deploy the think-cell style as part of your PowerPoint template, a default style file can be specified with the defaultstyle configuration parameter (see A.2.1 Configuration parameters). The parameter value is the path name to a valid style file. The path can either be absolute or relative to the styles
subdirectory of the think-cell installation directory.
The default style file is loaded automatically on two occasions:
- When a new presentation is created.
- When an existing presentation is opened that does not currently contain a style. When this presentation is saved and subsequently opened again, it will now contain a style, so the default style is not loaded again.
The default style file that will be loaded automatically is highlighted with an appended (default) in the list of available and recently loaded style files:
C.4 Style file tutorial
In think-cell’s installation directory (usually C:\Program Files\think-cell
), in the subdirectory styles
, you can find the style file generic style.xml
. This style mirrors the colors and color schemes that are available immediately after installation when no style is loaded. Therefore:
- Make a copy of
generic style.xml
and load it into an XML editor (see C.1 Creating a think-cell style for choosing a suitable editor). - Walk through the file from top to bottom making the changes described in the following steps.
- Remove any unneeded colors from the list inside the
fillLst
element. You will findsolidFill
,pattFill
andseparator
elements corresponding to the items in the color list displayed in think-cell (see 3.8.1 Color and fill). To remove, e.g., asolidFill
element, remove everything between and including the opening tag<solidFill ...>
and the closing tag</solidFill>
. - Optionally, create a new section for your own colors. To do this, insert a
separator
tag by writing<separator/>
at the appropriate location in the color list. Also, feel free to use line breaks, indentation and empty lines to structure the XML code in the style file for your own convenience. Spaces and linebreaks have no effect on the resulting style. - Add your own colors using the
solidFill
element. Your color needs a name and values for the red, green and blue channels. You should have these values from the specification document for your company’s corporate identity. If the color’s name should be “Light Green”, the decimal value for the red channel170
, for green255
and for blue42
, then it should look like this:<solidFill name="Light Green"> <sdrgbClr r="170" g="255" b="42"/> </solidFill>
- Remove any unneeded color schemes from the list inside the
fillSchemeLst
element. You will findfillScheme
elements corresponding to the items in the color scheme list displayed in think-cell (see 3.8.2 Color scheme. To remove afillScheme
element, remove everything between and including the opening tag<fillScheme ...>
and the closing tag</fillScheme>
. - Optionally, modify an existing color scheme. You can
- remove one or multiple colors from the scheme by removing the respective
fillRef
elements or - reorder the existing colors by reordering
fillRef
elements or - include one of your own colors by adding a
fillRef
element inside thefillScheme
element at the appropriate place. If you wish to include the color defined above, add the following line:<fillRef name="Light Green"/>
Note that you can only use colors that have been defined in the
fillLst
section (see steps 3.-5.) above. In particular, if you removed any colors in step 3., you must remove those colors from the color schemes, too. - remove one or multiple colors from the scheme by removing the respective
- Optionally, create a new color scheme using the
fillScheme
element. Your scheme needs a name, e.g., “Green Scheme”, a color reference to be used by the other series in the required attributefillSchemeLst
, and a list of color references asfillRef
elements. If you had defined the colors “Orange”, “Dark Green”, and “Medium Green” in addition to “Light Green” above, your color scheme might look like this:<fillScheme name="Green Scheme" fillRefOtherSeries="Orange"> <fillRef name="Dark Green"/> <fillRef name="Medium Green"/> <fillRef name="Light Green"/> </fillScheme>
- Check the contents of the
fillSchemeRefDefault
element. Thename
attribute specifies the color scheme that is used by default when inserting new charts. If you wish to set your own color scheme as the new default, modify the code like this:<fillSchemeRefDefault name="Green scheme"/>
- Save the modified style file, load it (see C.2 Loading style files) and test it.
- Deploy the new style in your organization as described in C.3 Deploying think-cell styles. In particular, it is not necessary to send the XML file to your colleagues, but you should of course keep it for your own reference.
C.5 Setting a default agenda slide layout
The think-cell agenda can use a specific custom layout in your presentation to define the agenda position and other shapes on an agenda slide like headers or pictures. By adding this custom layout to a template, you can define these settings for a whole organization.
- In PowerPoints slide master view, create a new custom layout. Typically, you will duplicate one of the existing custom layouts that best match the desired look of a think-cell agenda slide.
- Name the new custom layout “think-cell agenda”. think-cell will only use this custom layout, if it exactly matches this name, which is case-sensitive.
- Only include shapes on the “think-cell agenda” custom layout that should appear like this on every agenda slide.
- While editing the custom layout, choose Agenda Placeholder from the Elements menu. This element is only available when editing a custom layout. It adds an agenda placeholder on the current custom layout.
- Choose the agenda placeholder position as described in 19.3 Placing the agenda.
When a custom layout created this way and named “think-cell agenda” is found in the current presentation, Chapter will use this custom layout, including any additional shapes on it and place the agenda at the pre-set position.
C.6 Ribbon customization
think-cell makes all of its functionality available via Ribbon commands, which can be customized just like PowerPoint's own via File > Options > Customize Ribbon. See here for general information on how to do this.
You can find a list of all available think-cell commands in the Customize the Ribbon dialog by selecting Main Tabs from the Choose commands from: dropdown menu, and going to think-cell Commands > think-cell Commands.
Note: Due to a restriction in Office, you cannot add or remove commands to or from built-in groups. So to add commands to a built-in tab you have to create a custom group within it by clicking New Group. The think-cell groups in the built-in Insert, Design and Review tabs behave like built-in groups in this regard. You can, however take whole built-in groups, including the think-cell groups just mentioned, and add them to (or remove them from) arbitrary tabs.
Note: The think-cell commands tab and group are merely containers for convenient access to all think-cell Ribbon elements. They cannot themselves be placed on the Ribbon, and selecting or deselecting them on the right-hand side of the Customize the Ribbon dialog has no effect.
It is also possible to modify the placement of the main think-cell Ribbon group (Insert > think-cell by default) during installation. For instructions on how to do this see A.2.2.4 Ribbon.
Charting
Layout
External data
Automation
Appendix
-
A.Deployment guide
-
B.Exchanging files with PowerPoint
-
C.Customizing think-cell
- C.1
- Creating a think-cell style
- C.2
- Loading style files
- C.3
- Deploying think-cell styles
- C.4
- Style file tutorial
- C.5
- Setting a default agenda slide layout
- C.6
- Ribbon customization
-
D.Style file format
-
E.Keyboard shortcuts
-
F.API documentation