User Guide and Reference

Inheritance Within Forms

Hide Navigation Pane

Inheritance Within Forms

Previous topic Next topic No directory for this topic  

Inheritance Within Forms

Previous topic Next topic Topic directory requires JavaScript JavaScript is required for the print function  

Overview

As above, forms inherit their Library elements (Stylesheets, Custom Types, Templates, Resources) through the stack. So, the library elements available to the form has already been established. This includes stylesheets that you have modified to change color-schemes and other components of the general look of your forms.

 

But then, inheritance now occurs through the form's structure:

 

The settings of the various Style Choosers

Settings of parent form elements and their children (blocks and their contents, for example)

The use of Named Styles (or even manual over-rides

 

InternalInheritance

 

Widget Hierarchy

As we have already seen in Custom Types, some widgets are blocks of widgets and and children blocks. The properties of the simplest elements of these compounds are the ones to take effect. See the next topic immediately below.

 

Inheritance in blocks

Inheritance in blocks is similar to inheritance for individual widgets, but it is complicated by the fact that blocks contain content. When you drop a block onto a form, its content is also inherited, and can also be overridden, just like regular inherited objects. So you can simply double click on any of the child objects contained in a block, and modify their properties.

 

However, there are some important differences between inherited children and regular children. For example:

 

You cannot delete an inherited child (although you can change its visiblity to "Never visible", which achieves a similar result)

You cannot re-order inherited children

You cannot insert another object between two inherited children (although you can append an object at the end of the inherited children)

 

In order to differentiate between inherited children and regular children in the tree, inherited children are shown in yellow. This helps you to identify why certain operations (such as right click->Delete) are disabled for some objects.

 

If you make a change to a property of an inherited child object, only that particular property change is stored in your form (or overridden); all other property changes are obtained from the shared block. So if the definition of the block is changed, your form will automatically inherit all of the changes, except the specific properties that you've overridden. This makes maintenance of your form library very simple - you can change blocks in one place, and have the changes automatically reflected in all your forms.

 

Starter Content

Sometimes when you drag certain types of objects such as sections, tables or even complete forms, you will see a checkbox called "Include Starter Content". Starter Content appears similar to inherited content, but there are some important differences.

 

Starter Content is not really part of the block itself - it's just additional children that are optionally added to make your life easier and quicker. This is partly to save you time, and partly to show what type of content is appropriate for this type of object. There is no difference between the starter content, and content that you may have manually added yourself.

 

Therefore, you can modify, delete or move starter content just like you can any other object - none of the restrictions of inherited content apply.