Application Options Dialog

Top  Previous  Next

(Located in the IDE Tools Menu)

Click on a TAB above to see its help

 

The Application Options dialog allows you to specify default settings for each new application you create.

Application

Require Dictionary

This option specifies that each new application must have a data dictionary.

Default Dictionary

Names a data dictionary file as the default which appears in each new Application Properties Dialog . You can change to another dictionary before closing the dialog.

Display Repeated Functions

Check this box to have the Application Generator (Procedure tab only) provide full expansion of procedures called from more than one place in the Application Tree. Clear the box to provide full expansion of only the first instance--every other instance is marked "Expanded Above."

Procedures per Module

The Procedures per Module spin control specifies the number of procedures that the Application Generator writes to each source code module. This can affect compile time when used with Conditional Generation turned on. Specifying one procedure per module, for example, means that each successive compile rebuilds only those procedures changed since the last one, and no more. The down side to this is that it requires more disk space. When using the ABC templates, we recommend 10-20 procedures per module.

Application Wizard

Check this box to specify the default when creating a new application is to use the Application Wizard. You can override this choice when creating an application by checking or unchecking the Application Wizard box in the Application Properties dialog.

Procedure Wizards

Check this box to specify the default when creating a new procedure is to use the appropriate Procedure Wizard. You can override this choice when creating a procedure by checking or unchecking the Procedure Wizard box in the Select Procedure Type dialog.

Auto-save APP if recovery file’s size exceeds the limit.

Use the spin box to set in MB the file size limit of the application recovery file. Maximum size before auto-save is 1000MB.

Open Dictionary Files and Template Registry as Read-Only

Specifies file management options for multiple developer projects. When checked, Dictionary files and the registry are opened read-only.

Translate controls to control templates when populating

Check this box to have the Window Designer prompt you with a list of appropriate control templates whenever you place a control. We recommend this setting for new Clarion users.

Import name clash action

Specifies how the Application Generator handles procedure names from an imported application file that clash with procedure names already resident. Choose from the following:

Query on first clash

When the first clash is encountered, the Application Generator prompts for specific instructions on how to handle this clash and each subsequent clash. Choose from Auto Rename, Replace All, or Prompt.

Auto Rename

Renames all imported procedures with name clashes by appending a sequence number to the imported procedure name.

Replace All

Replaces all resident procedures with imported procedures of the same name.

Prompt

Asks for specific instructions for each clash encountered. Choose from Replace or Rename.

Replace

Replaces the resident procedure with the imported procedure of the same name.

Rename

Prompts you to rename the imported procedure.

 

 

 

Ask for alternative

For all procedures with the same name, the Application Generator prompts you to rename each imported procedure.

Auto Rename

For all procedures with the same name, the Application Generator renames the imported procedure by appending a sequence number to the name.

Replace previous

For all procedures with the same name, the Application Generator replaces the resident procedures with the imported procedures.

 

Disable Column Prompts

Specifies that template-generated field-specific prompts will not display. This does not disable prompts created by Control Templates.

Sort Embeds Alphabetically

Check this box to show embed points in alphabetical order in the Embedded Source dialog. Clear the box to show the embed points in "logical" order (order of execution). See Embedded Source Code for more information.

Action for Legacy embeds

Specify how the Application Generator handles legacy embed points. Legacy embed points are generally provided for backward compatibility among template chains. They allow newer template chains to conditionally support embed points from older template chains. See LEGACY in the Template Guide. Choose from:

Ignore all

Application Generator neither displays Legacy embed points at design time nor generates any code embedded therein. We recommend this setting to reduce "clutter" when developing new applications.

Show all and generate

Application Generator displays all Legacy embed points at design time and generates any code embedded therein. We generally do not recommend this setting; however, it can be useful for developers that are very comfortable with a particular template chain and its embed points.

Show filled and generate

Application Generator displays only filled Legacy embed points at design time and generates any code embedded therein. We recommend this setting for applications ported to a new template chain.

Edit embedded source errors in generated code

Check this box to allow you to edit embedded source errors in the generated source code instead of the standard Embeditor. The advantage of this is a logical view of all source code as generated. You can edit the source error and the application generator will not regenerate code until after the Make and Run is completed. This is useful during the testing phase of your development for faster prototyping.

Auto-Make Applications before compile

Check this box to trigger the Application Generator to generate source prior to the Build action if needed.

Auto start designer on pressing the Window or Report button.

Check this box to auto-load the target Designer when pressing the Window or Report button located on the Procedure Properties window. You can still view the Window or Report text by pressing the tabs in the Procedure Properties window. Closing the Designer will direct you to the appropriate Window or Report tab.

Move the MASK attribute from windows to controls

Check this box to allow the application convertor to automatically move the WINDOW MASK attribute to target ENTRY controls. If you plan to build the application in any version prior to 7, leave this check box blank.

 

Registry

Template Language code can be logically split among many files. Clarion uses the files to produce one logical template set for creating applications. The Registry Options are mainly for programmers who produce their own template files or make modifications to the default templates.

Re-register When changed

To automatically re-register your templates when the Application Generator detects a change, check the Re-register When changed box. This defaults to "On."

Update Template Chain when edited

To automatically update the Template files when making a change in the Template Registry, check the Update Template Chain when edited box.

Regenerate Deleted Templates

To specify the Application Generator should re-generate the .TPL and .TPW files from TemplateRegistry.TRF, should the files be deleted, check the Regenerate Deleted Templates box.

#APPLICATION template

Select the default APPLICATION template from the drop-down list. The APPLICATION template controls source code generation. See Template Overview in the Template Guide for more information.

 

Generation

Conditional Generation

This check box specifies that only source code modules changed since the last make should be compiled.

Debug Generation

Specifies a text file for the Application Generator to log events to, and turns logging on and off. In case of a fatal error by the Application Generator, this log provides a trace to identify where the problem occurred. You can specify the file name in the Debug Filename box.

As you load (open) the application, you will see (DEBUG) in the title bar of the Open Application message window

.

 

Generation Message

Allows you to specify what displays during generation. Displaying messages increases generation time slightly, but offers more information on generation progress and more opportunities to cancel.

The choices are:

 

No Messages

Displays no messages.

Module Names

Displays the Module Name as it generates

Module and Procedure Names

Displays the Module Name as it generates and the Procedure Name as it generates

All Messages

Displays the Module Name as it generates, the Procedure Name as it generates, and each portion of the procedure as it generates.

 

Enable #ASSERT checking

Check this box to enforce heightened error checking during source code generation. This allows the Application Generator to identify certain template execution problems and notify you during source code generation. This slows the code generation process slightly. Clear the box for faster, but riskier source code generation. See #ASSERT for more information.

Use long file names for generated files

The default generation of application source files is the full application name followed by a three digit module number. If you would like to use the older 8.2 naming format, uncheck this box.

Use dot syntax for fields of structures

Used for the Clarion.NET Application Generator to generate field qualification syntax for all data structures instead of the older prefix:label format.

Create local maps

Check this box to generate a MAP structure for each source module that prototypes only the procedures referenced in the module. This results in faster compiles whenever you add new procedures or change procedure prototypes, because only the affected modules are recompiled. To generate accurate local maps, you must use the Procedures button in the Procedure Properties dialog to identify any procedures referenced in embedded source code.Clear this box to generate a single MAP for the PROGRAM module that prototypes all the program's procedures globally. This results in slower compile times whenever you add new procedures or change procedure prototypes, because the change to the PROGRAM module forces a recompile of all application source modules. (Valid only for ABC template chain)

Enable embed commenting

Check this box to optimize automatic comment generation specified by the application templates.

 

Synchronization

This tab lets you specify how and when control attributes defined in your data dictionary are applied to your application's procedures and controls. See Also: How to Synchronize your App and Dictionary .

Synchronize Application when opened

Check this box to reapply data dictionary attributes each time your application is opened. Clear the box to apply the attributes only on your explicit command.

Synchronize Window definitions

Check this box to apply data dictionary attributes to WINDOW structures during application-wide synchronization. Clear the box to ignore WINDOW structures.

Synchronize Report definitions

Check this box to apply data dictionary attributes to REPORT structures during application-wide synchronization. Clear the box to ignore REPORT structures.

Update controls for variables

Check this box to apply memory variable control attributes to their associated controls. Clear the box to ignore controls associated with memory variables.

Primary attributes only

Check this box to apply only the primary control attributes. Primary attributes are those attributes set directly in the Column Properties dialog. They include Column Name, Characters (length), Screen Picture, Prompt Text, Column Heading, Case (UPR, CAP), Typing Mode (INS, OVER), Flags (IMM, PASSWORD, READONLY), Justification, Initial Value, Help IDs, Messages, Tool Tips, and Validity Checks. Secondary attributes are those attributes set by pressing the Properties button on the Window and Report tabs of the Field Properties dialog.

Check the Primary attributes only box to speed up the synchronization process, especially if you synchronize each time you open the application.

Clear HELP, MSG, TIP if omitted in dictionary

Check this box to override control specific help attributes (set from the Window Designer) with blank help attributes from the data dictionary. Clear the box to retain control specific help attributes despite blank help attributes in the dictionary.

Allow control types to change

Check this box to apply new control types. For example, a SPIN may replace an ENTRY. The synchronizer does not change the number of controls on a window or report; therefore it does not change an OPTION to a LIST or vice versa. However, it does issue a warning when it encounters this situation.

Changing a control's type can result in "orphaned" embed code. For example a SPIN supports a NewSelection embed point, but an ENTRY does not. Orphaned embed code should be manually moved to an appropriate place.

Allow conversion from list to drop list

Check this box to allow a drop list to replace a list.

Clear all other attributes if omitted in dictionary

Check this box to override all control specific attributes (attributes set from the Window Designer) except HELP, TIP, and MSG with blank attributes from the dictionary. Clear the box to retain control specific attributes despite blank attributes in the dictionary. Clearing the box also enables the More button so you can set each attribute individually.

More

Press this button to elect, for each individual attribute, whether to override the control specific (Window Designer) attribute with a blank attribute from the dictionary or whether to keep the attribute despite a blank attribute in the dictionary. Attributes are Font, Alert, Tally, Cursor, Key, Icon, and Colors.

Dictionary can override size

Check this box to let data dictionary size attributes prevail over Window Designer size attributes. Control sizes can change when the height or width value is default and the control's text changes, or when an explicit height or width value in the dictionary varies from the control specific (Window Designer) height or width values.

Ignore Freeze attribute setting

Check this box to apply data dictionary attributes to controls with the #Freeze attribute. Clear the box to leave frozen controls alone. If you synchronize a single control, the synchronizer ignores the #Freeze. #Freeze is effective only when you synchronize multiple controls, i.e. an entire application or procedure, a WINDOW structure such as an OPTION or a GROUP, or a REPORT structure such as a DETAIL, BREAK, HEADER, or FOOTER.

Refreeze frozen control after synchronize

Check this box to" refreeze" the control after synchronizing it. Clear the box to "unfreeze" the control after synchronizing.

Update column formatting

Check this box to apply dictionary attributes to LIST FORMAT strings (i.e. justification). In other words, format list box columns according to data dictionary attributes. Clear this box to leave LISTs alone.

Update column headers

Select from the drop-down list to specify when List Box column headers are applied from the data dictionary. Choose from:

Always

The Application Generator always applies the dictionary column header, even if it is blank.

If present in dictionary

The Application Generator applies the dictionary column header only if it is non-blank, otherwise, the LISTs column header prevails.

Window and Dictionary

The Application Generator applies the dictionary column header only if both are non-blank, otherwise, the LISTs column header prevails. This lets a blank column header on a LIST prevail over a non-blank column header in the data dictionary.

Never

The Application Generator never applies the dictionary column header. The LIST's column header always prevails.

Display warning if could not synchronize

Check this box to display a warning dialog if warnings occur during synchronization. Warnings occur when controls change size, when there is a different number of radio buttons in the dictionary than on the window or when an OPTION is replaced with a different control (e.g. a drop-down list).

Add report entry when controls change size

Check this box to generate warnings when controls change size. Clear the box to suppress size change warnings.

Filename for report

Specify the file to hold the warning report. Clearing this box suppresses the report.

 

Embed Editor/OOP Embed Editor

This tab lets control how the Application Generator generates the temporary source file for the Embeditor. You can specify the text that delimits the embed points within the temporary source file. By customizing the text, you can make it easy to identify the embed points you want to edit.

Preceding Comment

Specify the text that marks the beginning of each embed point.

Include preceding comment

Check this box to generate a preceding comment. Clear the box to omit the preceding comment.

Prefix

Set the text generated before the embed point name.

Suffix

Set the text following the embed point name.

Following Comment

Specify the text that marks the end of each embed point.

Include following comment

Check this box to generate a trailing comment. Clear the box to omit any trailing comment.

Prefix

Set the text generated before the embed point name.

Suffix

Set the text following the embed point name.

Show priority levels

Check this box to show the embedded source priority within the Embeditor. The priority determines the sequence in which the Application Generator places multiple blocks of embedded code within a single embed point.

Edit errors in context

This box controls which edit mode to invoke when you edit embedded source code from the Errors Pad dialog. Check this box to open the Embeditor to edit embedded source code. Clear the box to open the non-contextual embed editor.

The Source Embeditor (or embed editor) will open ONLY if the error in the Errors Pad is caused by an EMBED error.

If the error is caused by bad dictionary information (like triggers or initial values), bad template entries, OR an embed that CAUSES bad GENERATED code (like a misplaced END statement), the error pad will ALWAYS open the CLW instead. So in nearly all cases except for the last one, when clicking on an error results in opening the CLW, you can be certain that the error is caused by an incorrect template setting or an error introduced in the Dictionary.

 

Edit source embeds in context by default (using Embeditor)

This box controls which edit mode to invoke when you edit embedded source code from the Embed Tree dialog. Check this box to open the Embeditor to edit embedded source code. Clear the box to open the non-contextual embed editor. Using the Embeditor allows added features such as code completion, class browsing, etc.

This option does not affect how errors are processed, but instead controls what editor to use when opening an embed in the Embed Tree found in the Embeds tab.

 

Embed Tree Options

The Embed Tree is the relational list control that displays when selecting the Embeds menu item or button from any selected procedure.

The following settings allow you to fine tune the level of information displayed for all embed points:

Show PROCEDURE Keyword

Check this box to attach the word PROCEDURE to an embed point where appropriate.

Show VIRTUAL Keyword

If a method embed point is defined as a virtual method, check this box to attach the word VIRTUAL to an embed point where appropriate.

Show PROTECTED Keyword

If a method embed point is defined as one that is protected, check this box to attach the word PROTECTED to an embed point where appropriate.

Show Base Class

Check this box to display the base class name related to embed points (WindowManager, FileManager, etc.) where appropriate.

Show Object Description

Check this box to allow a class object’s full description to be displayed.

Show Details

Check this box to allow a class object’s full details to be displayed.

Color Entries

Check this box to reveal the color dialog described below.

 

Colors

Embed points can be colored with respect to what section of code it is created in. Modify your colors for DATA and CODE sections, existing VIRTUAL and PROTECTED methods, or new methods that you have created.